본문 바로가기

전체 글224

Netpractice를 3일만에 끝내보자. (시작 전 개념공부)(1/3) 참고 링크시간이 많다면 위의 글을 다 보시는 것을 추천합니다.서브넷 마스크와 서브넷팅 계산법우리가 흔히 사용하는 IP 주소 체계인 IPv4는 이론적으로 42억 개의 네트워크 장치에 IP Address를 부여할 수 있습니다. 언뜻 보면 많아 보이지만 컴퓨터뿐 아니라 스마트폰까지 대중화된 시대에 42억 개는 그리 많은 수가 아닙니다. 그런데 문제는 42억 개를 각 네트워크 영역마다 아무렇게 둘 수 없다는 점입니다. 극단적인 예시로 A 클래스를 보시면 이해하기 쉽습니다.http://korean-daeddo.blogspot.com/2016/01/blog-post_26.html공인 IP와 사설 IP... 다양한 IP 유형의 차이는?IP 주소는 인터넷 프로토콜 주소를 의미하며 숫자로 구성되어 인터넷에 연결된 장치를.. 2023. 1. 11.
백준 1189번 컴백홈 dfs(C++) 문제정답 코드#include #include #include #include int dx[]={-1,0,1,0}; int dy[]={0,1,0,-1}; using namespace std; int r,c,k; int cnt =0; // voidprint_map(vector arr) // { // for (int i=0;i k; vector arr(r,vector(c,0)); for (int i=0;i > s; for (int j=0; j 2023. 1. 10.
백준 1325번 효율적인 해킹(C++) 문제정답 코드#include #include #include #include #include using namespace std; int compu_num,n; vector compu[10001]; int result[10001]; int vis[10001]; int maxi; int dfs(int a) { vis[a] = 1; int ret = 1; for (int k : compu[a]) { if (vis[k]) continue; ret +=dfs(k); } return (ret); } int main() { ios:: sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> compu_num >> n; for (int i=0;i < n;i++) { int down.. 2023. 1. 9.
42서울 ft_printf 시작 전 공부 정리(printf직접 구현하기) 구조체 값을 초기화 하는 방법 : ft_memset printf함수가 write보다 늦게 나오는 이유 printf함수는 라인 버퍼링을 사용하기 때문이다. line buffering 이란? 버퍼에 개행 문자가 입력될 때 마다 출력한다. 즉 개행문자가 들어오지 않는다면 버퍼에 계속 쌓아두다가 더이상 실행 할 명령이 없을 때 해당 버퍼의 내용을 출력한다.(과제에서는 실제 printf처럼 버퍼관리를 수행해서는 안된다고 한다.) 가변인자 목록(코딩도장) 42서울 ft_printf 시작 전 공부 정(printf직접 구현하기) 구조체 값을 초기화 하는 방법 : ft_memset printf함수가 write보다 늦게 나오는 이유 printf함수는 라인 버퍼링을 사용하기 때문이다. line buffering 이란? 버퍼.. 2023. 1. 9.
백준 2636번 치즈(C++) 문제 정답 코드#include #include #include #include #include using namespace std; int n,m; #define X second #define Y first /* 입력 -> 변경 맵과 이전 백업맵 2개로 생김 이전 백업맵에서 bfs를 하는데 4방향 탐색중 0이 있다면 그 부분의 변경맵을 0으로 변경 그렇게 쭉 한바퀴를 다 돌고 나면 변경 맵을 검사해서 전부다 0인지 확인 전부다 0이면 이전 백업을 출력 아니라면 백업을 바꾼 맵으로 바꾸고 다시 함수 시작. */ const int dx[] = {0,1,0,-1}; const int dy[] = {1,0,-1,0}; int check_done(vector ar) { for (int i=0;i < n;i++) .. 2023. 1. 8.
이코테 구현알고리즘 예제 1번 상하좌우 -방향벡터 (C언어) #include int main() { int input; scanf("%d", &input); //int map[100][2];//0:x 1:y int x = 1; int y = 1; char order[2]; for (int i = 0; i 1) x--; else if (order[0] == 'R' && x 1) y--; else if (order[0] == 'D' && y < input) y++; } printf("%d %d", y, x); } 난 이렇게 풀었는데 방향 벡터를 이용해서 푸는 방법이 더 깔끔한 것 같다. dx[4] = {0, 0, 1, -1};(행) dy[4] = {1, -1, 0, 0};(열)이렇게 미.. 2023. 1. 8.
백준 왕실의 나이트(C) 수학적 풀이, 완전 탐색적 풀 #include int main() { int count = 8; char input[3]; scanf("%s", input); int check = input[0] + input[1] - 'a' - '1'; if (check == 0 || check == 14) count -= 6; else if (check == 1 || check == 13) count -= 5; else if (check == 2 || check == 12) count -= 4; else if (check == 3 || check == 11) count -= 3; else if (check == 4 || check == 10) count -= 2; printf("%d", count); } 좀 이상하게 조건문에 꽂쳐서 수학적으로 풀.. 2023. 1. 8.
백준 (C언어) (구현) 게임개발 -방향벡터 및 맵 탐색 #include #include int main() { int length, width;//세로, 가로 int x, y, direction;//방향은 0:북, 1:동, 2:남, 3:서 int** map;// 세로 가로, 0육지 1바다 scanf("%d %d", &length, &width); map = (int**)malloc(sizeof(int*) * (length)); //int move[4][2] = {{0,-1}, {1,0}, {0,1}, {-1,0}};//북, 동, 남 ,서 int move[4][2] = { {0,1}, {-1,0} ,{0,-1} ,{1,0} };//북,서,남,동 scanf("%d %d %d ", &x, &y, &direction); for (int i = 0; i < lengt.. 2023. 1. 8.
[백준 BOJ 10816번] 숫자 카드 2 (C++ ) 틀린코드 #include #include using namespace std; int find_result(int* arr1,int find_num,int start,int end) { int count = 0; int tmp; while (start input_num; int arr1[500001]; for (int i=0; i >arr1[i]; sort(arr1, arr1+input_num); int n_input_num; cin >>n_input_num; int find_num; int result = 0; for (int i = 0; i >find_num; result = find_result(arr1,find.. 2023. 1. 8.