본문 바로가기

전체 글

(131)
51. 영지(territory) 선택 : large (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆ #include #include using namespace std; int main() { int h , w, sh, sw, max = 0, temp = 0; scanf("%d %d", &h, &w); vector num(w+1, 0); vector ter(h+1, num); vector ans(h+1, num); for(int i = 1; i < ter.size(); i++) { for(int j = 1; j < num.size(); j++) scanf("%d", &num[j]); ter[i] = num; } scanf("%d %d", &sh, &sw); for(int i = 1; i
50. 영지(territory) 선택 : small (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆ #include #include using namespace std; int main() { int h , w, row, column, sh, sw, max = 0, sum = 0; scanf("%d %d", &h, &w); vector num(w, 0); vector ter(h, num); for(int i = 0; i w-sw) { column = 0; row++; } } printf("%d", m..
49. 블록의 최댓값(2차원 배열 응용) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆ #include #include using namespace std; int main() { int n, row, column, sum = 0; scanf("%d", &n); vector a(n, 0); vector up(n, a); vector front(n, 0); vector side(n, 0); for(int i = 0; i < n; i++) scanf(" %d", &front[i]); for(int i = 0; i < n; i++) scanf(" %d", &side[i]); column = 0; while(true) { for(int i = 0; i < front.size(); i++) { row = n-1; for(int j = 0; j < side.size(); j++) { if(front[..
48. 각 행의 평균과 가장 가까운 값 (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆ #include #include #include using namespace std; int main() { int sum, mid, val = 0, min = 2147000000, temp; vector row(9, 0); vector num(9, row); for (int i = 0; i < num.size(); i++) { for (int j = 0; j < row.size(); j++) { scanf(" %d", &row[j]); } num[i] = row; } for (int i = 0; i < num.size(); i++) { sum = 0; for (int j = 0; j < row.size(); j++) { sum += num[i][j]; } mid = sum / 9.0 + 0.5; for..
47. 봉우리(2차원 배열 탐색) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆ #include #include using namespace std; int main() { int n, count = 0;; bool flag = true; scanf("%d", &n); vector num(n + 2, 0); vector map(n + 2, num); for (int i = 1; i < map.size() - 1; i++) { for (int j = 1; j < num.size() - 1; j++) { scanf(" %d", &num[j]); } map[i] = num; } for (int i = 1; i
46. 멀티태스킹(카카오 먹방 문제 변형) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆ #include #include using namespace std; int main() { int n, k, tot = 0, cnt = 0, pos = 0; bool flag = false; scanf("%d", &n); vector task(n+1, 0); for(int i = 1; i = tot) { printf("%d", -1); return 0; } while(true) { pos++; if(pos > n) pos = 1; if(task[pos] == 0) continue; task[pos]--; cnt++; if(cnt == k) break;..
45. 공주 구하기 (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆ #include #include using namespace std; int main() { int n, k, remain, count = 0; scanf("%d %d", &n, &k); vector prince(n+1, 0); for(int i = 1; i 1) { for(int i = 1; i < prince.size(); i++) { if(prince[i] == 0) continue; count++; if(count == k) { prince[i] = 0; count = 0; remain--; } if(i == prince.size()-1) i = 0; if(remain == 1) br..
44. 마구간 정하기(이분검색 응용) (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆ #include #include #include using namespace std; int main() { int n, c, a, lt, rt, mid, idx, answer = 0, count = 1; scanf("%d %d", &n, &c); vector A(n+1, 0); for(int i = 1; i < A.size(); i++) { scanf("%d", &a); A[i] = a; } sort(A.begin(), A.end()); lt = 1; rt = A[n]; while(lt = mid) { count++; idx = i; i = idx; } } if(count < c) { rt = mid - 1; count = 1; } else { lt = mid + 1; if(answer == 0 || ..