![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGszvV%2FbtqKdFE5YJV%2FC3wodMzCa7s1TTd4LfC3O0%2Fimg.png)
[알고리즘 문제] 53. K진수 출력
2020. 10. 6. 09:29
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, k, tmp, i; cin >> n >> k; char arr[100]; int top = -1; char c[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; tmp = n; while (tmp != 0) { arr[++top] = c[tmp % k]; tmp /= k; } while (top > -1) { cout > n >> k; stack sChar; char arr[100]; int top = -1; char c[16] = { '0', '1', '2', ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRr58f%2FbtqKiaqpGnd%2Fvk2c1U8pP7Kwl0mKR6k7l0%2Fimg.png)
[알고리즘 문제] 52. Ugly Numbers
2020. 10. 6. 01:09
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i; cin >> n; vector vInt(n + 1); int p2 = 1, p3 = 1, p5 = 1, min = 2147000000; int v2, v3, v5; vInt[1] = 1; for (i = 2; i
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FczlPFz%2FbtqKfq8BWwd%2Fc56Gs3NvYVoQrxLHNHhYlk%2Fimg.png)
[알고리즘 문제] 51. 영지(territory) 선택 : (large)
2020. 10. 5. 23:57
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int h, w, i, j, sum, max = -2147000000; cin >> h >> w; vector a(h + 1, vector(w + 1)); vector dy(h + 1, vector(w + 1)); for (i = 1; i a[i][j]; dy[i][j] = dy[i][j-1] + dy[i-1][j] - dy[i-1][j-1] + a[i][j]; } } int hh, ww, tmp; cin >> hh >> ww; for (i = hh; i
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fczy0JL%2FbtqJ0oKLT9U%2FsM4ZNUqkXNXJxQRK1LRXAk%2Fimg.png)
[알고리즘 문제] 50. 영지(territory) 선택 : (small)
2020. 10. 4. 20:59
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int h, w, i, j, t; int height, width, max = -2147000000; int p1, p2; cin >> h >> w; vector vInt; vector temp; for (i = 0; i > temp[j]; } vInt.push_back(temp); } cin >> height >> width; for (i = 0; i = height) break; t += vInt[i + p1][j + p2]; p2++; } if (ma..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBeW3d%2FbtqJ0nYRpfr%2FbbXXqxufZj7wTgQmz4ykXk%2Fimg.png)
[알고리즘 문제] 49. 블록의 최댓값
2020. 10. 3. 21:03
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, temp, i, j, count = 0; cin >> n; vector vInt; vector vTemp; for (i = 0; i > temp; vTemp.clear(); for (j = 0; j > temp; for (j = 0; j temp) vInt[j][i] = temp; count += vInt[j][i]; } } c..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDEQ7f%2FbtqJ3gLHD42%2FuglUm0qvMFXsp61yMujIuK%2Fimg.png)
[알고리즘 문제] 48. 각 행의 평균과 가장 가까운 값
2020. 10. 3. 19:39
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int arr[9][10] = { 0 }; int num[9] = { 0 }; int i, j, sum = 0; float temp; for (i = 0; i > arr[i][j]; temp += arr[i][j]; } temp /= 9; if ((int)(temp * 10) % 10 >= 5) ++temp; arr[i][9] = temp; } for (i = 0; i a..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fch729m%2FbtqJ3gSua2A%2F2VAI96RKdOqSzbdnxMsmh1%2Fimg.png)
[알고리즘 문제] 47. 봉우리
2020. 10. 3. 19:24
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, j, t, count = 0; cin >> n; vector vInt; vector vTemp; for (i = 0; i > t; vTemp.push_back(t); } } vInt.push_back(vTemp); } for (i = 1; i
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqZSi4%2FbtqJ3ivBNKX%2FfiZB2k8OcUz66XCsw7Zl7K%2Fimg.png)
[알고리즘 문제] 46. 멀티태스킹(카카오 먹방 문제 변형)
2020. 10. 2. 22:31
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, k, temp = 0, idx = -1, sum = 0; cin >> n; vector vInt(n); for (i = 0; i > vInt[i]; sum += vInt[i]; } cin >> k; temp = 0; if (sum
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDA7mg%2FbtqJXVaiXqg%2FWLx7zkl8Y6Cj0JxfyNgQTk%2Fimg.png)
[알고리즘 문제] 45. 공주 구하기
2020. 10. 2. 22:02
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, k, i, count = 0, idx = 0, size = 0, result = 0; cin >> n >> k; vector vBool(n); size = n; while (size > 1) { if (!vBool[idx]) { if (++count >= k) { vBool[idx] = true; --size; count = 0; } else result = idx; } if (++idx >= n) idx = 0; } cout
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYAWiY%2FbtqJV6jk6wv%2F59Chc1EnFyRUUi3CIq6xKk%2Fimg.png)
[알고리즘 문제] 44. 마구간 정하기(이분검색 응용)
2020. 10. 2. 21:42
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int count(const vector& vInt, const int size) { int i, prev = vInt[0], cnt = 2; for (i = 1; i = size) { ++cnt; prev = vInt[i]; } } return cnt; } int main(void) { int n, c, i, mid, res, temp; int left, right = 0; cin >> n >> c; vector vInt(n); for (i = 0; i > vInt[i]; right += vInt[i]; } ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb0y5S0%2FbtqJXWUAism%2Fai1MEuwLcVYjppO8C7SFI1%2Fimg.png)
[알고리즘 문제] 43. 뮤직비디오(이분검색 응용)
2020. 10. 2. 20:48
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int count(const vector& vInt, const int size) { int i, cnt = 1, sum = 0; for (i = 0; i size) { cnt++; sum = vInt[i]; } else { sum += vInt[i]; } } return cnt; } int main(void) { int n, m, i, left = 1, right = 0, mid, res, max = -2147000000; cin >> n >> m; vector vInt(n); for (i = 0; i > v..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOa02Z%2FbtqJ0pBDV6x%2FMAuFhLRgd8gIPcEqcoQiRk%2Fimg.png)
[알고리즘 문제] 42. 이분검색
2020. 10. 2. 04:47
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, m, i, left, right, center, result = -1; cin >> n >> m; vector vInt(n); for (i = 0; i > vInt[i]; sort(vInt.begin(), vInt.end()); left = 0; right = n - 1; while (left
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdC0uYP%2FbtqJ3ihIDcH%2FMAriKcY8Pqv8xAzEO0zK50%2Fimg.png)
[알고리즘 문제] 41. 연속된 자연수의 합
2020. 10. 2. 04:32
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, j, sum, num, cnt, cnt2 = 0; bool flag; cin >> n; i = n / 2; if (n % 2 != 0) i += 1; for (; i >= 0; --i) { sum = 0; cnt = 0; num = i; flag = false; while (true) { sum += num; if (sum == n) { flag = true; ++cnt2; break; } else if (sum > n) break; --num; ++cnt; } if (flag) { for (j = cnt; j > 0; --j) cout
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZrLAF%2FbtqJU4d1VCt%2F4nKG0JbRKtokkx9yRY7Y80%2Fimg.png)
[알고리즘 문제] 40. 교집합(투포인트 알고리즘)
2020. 9. 29. 22:38
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, m, i, p1 = 0, p2 = 0, p3 = 0; cin >> n; vector vN(n); for (i = 0; i > vN[i]; sort(vN.begin(), vN.end()); cin >> m; vector vM(m); for (i = 0; i > vM[i]; sort(vM.begin(), vM.end()); vector vResult(n+m); while (p1 vM[p2]) ++p2; else {..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNTmvy%2FbtqJVphVxMS%2FK4wGxSzIMXurw8QgruZsvK%2Fimg.png)
[알고리즘 문제] 39. 두 배열 합치기
2020. 9. 29. 22:08
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, m, i, j; cin >> n; vector vN(n); for (i = 0; i > vN[i]; cin >> m; vector vM(m); vector vAnswer; vAnswer.resize(n + m); for (i = 0; i > vM[i]; i = j = 0; while (true) { if (vN[i] > vM[j]) { vAnswer[i + j] = vM[j]; ++j; } else if (vN[i] < vM[j]) { vAnswer[i + j] = vN[i]; ++i; } else { // 같은 경우 ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbad3qw%2FbtqJUNpZMaA%2FSuLcnot4RLHEfku2lS8aLK%2Fimg.png)
[알고리즘 문제] 38. Inversion Sequence
2020. 9. 29. 21:01
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, j, temp; cin >> n; vector is(n); vector os(n); for (i = 0; i > is[i]; os[n - 1] = n; for (i = n - 2; i >= 0; --i) { temp = i + 1; for (j = 0; j < is[i]; ++j) { os[i + j] = os[i + j + 1]; } os[i + j] = temp; } for (i = 0; i < n; ++i) cout
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgTIYZ%2FbtqJIL7EEOG%2FMrGZtV1FcV8eAZkKbxUQUk%2Fimg.png)
[자료구조] 더블 링크드 리스트(Doubly Linked List) (C++)
2020. 9. 29. 11:44
자료구조, 알고리즘
개념 링크드 리스트의 탐색 기능을 개선한 자료구조이다. 양방향으로 탐색이 가능하다. 코드 자체는 링크드 리스트와 크게 다른 게 없다. 삽입, 삭제 시 양방향인 것만 신경 쓰면 된다. template struct Node { T data;// 데이터 Node* prevNode;// 이전 노드를 가리키는 포인터 Node* nextNode;// 다음 노드를 가리키는 포인터 Node(T value) : data(value), prevNode(NULL), nextNode(NULL) {} }; template class DoublyLinkedList { Node* head; Node* tail; int size = 0; public: DoublyLinkedList() : head(NULL), tail(NULL) {..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZJsxC%2FbtqJPB9CVhi%2FmsKmqeTL9ZHe38XOEo0zl0%2Fimg.png)
[알고리즘 문제] 37. Least Recently Used(카카오 캐시 문제 변형)
2020. 9. 28. 13:48
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int s, n, i, j, temp, idx; cin >> s; cin >> n; vector vSize(s); vector vNumber(n); for (i = 0; i > vNumber[i]; idx = 0; temp = 0; for (j = 0; j < s; ++j) { if (vNumber[i] != vSize[j]) continue; idx = j; temp = vSize[j]; break; } // 현재 vSize에 있는지 체크, 해당 인덱스 가지고 있어야 함 if(idx != 0) { // 맨앞으로 꺼내오기 for (j = idx - 1; ..