[알고리즘 문제] 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 {..
[알고리즘 문제] 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 { // 같은 경우 ..
[알고리즘 문제] 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
[알고리즘 문제] 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; ..
[알고리즘 문제] 36. 삽입정렬
2020. 9. 28. 13:32
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, j, temp; cin >> n; vector vInt(n); for (i = 0; i > vInt[i]; for (i = 1; i = 0; --j) { if (vInt[j] > temp) { vInt[j + 1] = vInt[j]; } else break; } vInt[j + 1] = temp; } for (i = 0; i < n; ++i) cout
[알고리즘 문제] 35. Special Sort(구글 인터뷰)
2020. 9. 28. 13:19
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, j, temp; cin >> n; vector vInt(n); for (i = 0; i > vInt[i]; for (i = n - 1; i >= 0; --i) { for (j = 0; j 0 && vInt[j + 1] < 0) { temp = vInt[j]; vInt[j] = vInt[j + 1]; vInt[j + 1] = temp; } } } for (i = 0; i < n; ++i) cout
[알고리즘 문제] 34. 버블정렬
2020. 9. 28. 13:12
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, j, temp; cin >> n; vector vInt(n); for (i = 0; i > vInt[i]; for (i = n - 1; i >= 0; --i) { for(j = 0; j vInt[j+1]) { temp = vInt[j]; vInt[j] = vInt[j + 1]; vInt[j + 1] = temp; } } } for (i = 0; i < n; ++i) cout
[알고리즘 문제] 33. 3등의 성적은?
2020. 9. 27. 21:03
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, idx, temp, min = 2147000000, cnt = 0; cin >> n; vector vInt(n); for (int i = 0; i > vInt[i]; // 내림차순 선택 정렬 for (int i = 0; i vInt[idx]) idx = j; } temp = vInt[i]; vInt[i] = vInt[idx]; vInt[idx] = temp; } for (int i = 0; i < n; ++i) { i..
[알고리즘 문제] 32. 선택정렬
2020. 9. 27. 18:43
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, temp; cin >> n; vector vInt(n); for (int i = 0; i > vInt[i]; for (int i = 0; i vInt[j]) { temp = vInt[i]; vInt[i] = vInt[j]; vInt[j] = temp; } } } for (int i = 0; i > vInt[i]; for (..
[알고리즘 문제] 31. 탄화수소 질량
2020. 9. 27. 18:31
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { char c[10]; int i, pos, a = 0, b = 0; cin >> c; // C가 한 개인 경우 if(c[1] == 'H') { a = 1; pos = 1; } else { for(i = 1; c[i] != 'H'; ++i) { a = a * 10 + (c[i] - 48); } pos = i; } // H가 한 개인 경우 if (c[pos + 1] == '\0') b = 1; else { for(i = pos+1; c[i] != '\0'; ++i) { b = b * 10 + (c[i] - 48); } } cout
[알고리즘 문제] 29. 3의 개수는? (small)
2020. 9. 26. 23:59
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, tmp, d, result = 0; cin >> n; for(int i = 1; i 0) { d = tmp % 10; if (d == 3) ++result; tmp /= 10; } } cout
[알고리즘 문제] 28. N!에서 0의 개수
2020. 9. 26. 23:48
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, j, tmp, t = 0, f = 0; cin >> n; for(i = 2; i
[알고리즘 문제] 27. N!의 표현법
2020. 9. 26. 22:55
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, flag, a; cin >> n; vector vInt(n + 1); for (i = n; i >= 1; --i) { a = i; flag = 2; while(true) { if (a % flag == 0) { a = a / flag; vInt[flag]++; } else flag++; if (a == 1) break; } } cout
[알고리즘 문제] 26. 마라톤
2020. 9. 22. 17:44
문제 풀이/알고리즘 문제풀이
코드 #include #include using namespace std; int main(void) { int n, i, j, num; cin >> n; vector vNum(n); for (i = 0; i > vNum[i]; // 기본값 1, 앞에를 돌면서 num = 1; for (j = 0; j < i; ++j) if (vNum[i]
[알고리즘 문제] 25. 석차 구하기
2020. 9. 22. 16:54
문제 풀이/알고리즘 문제풀이
코드 #include #include using namespace std; int main(void) { int n, i, j, num = 0; cin >> n; vector vScore(n); vector vResult(n); for (i = 0; i > vScore[i]; vResult[i] = 1; } for (i = 0; i < n; ++i) { for (j = 0; j < n; ++j) { if (vScore[i] < vScore[j]) ++vResult[i]; } cout
[알고리즘 문제] 24. Jolly Jumpers
2020. 9. 21. 20:24
문제 풀이/알고리즘 문제풀이
코드 #include #include using namespace std; int main(void) { int n, i, num, temp; bool result = true; cin >> n; num = n - 1; vector vInt(n);// 5 vector vBool(num);// 1 2 3 4 for (i = 0; i > vInt[i]; } for (i = 0; i < n - 1; ++i) { temp = abs(vInt[i] - vInt[i + 1]); if (temp
[알고리즘 문제] 23. 연속 부분 증가수열
2020. 9. 21. 18:16
문제 풀이/알고리즘 문제풀이
코드 #include #include using namespace std; int main(void) { int n, i, temp, prev, count = 1, max = -2147000000; cin >> n; vector vInt; for (i = 0; i > temp; vInt.push_back(temp); } prev = vInt[0]; for (i = 1; i = prev) { count++; if (count > max) max = count; } else count = 1; prev = vInt[i]; } cout
[알고리즘 문제] 22. 온도의 최대값
2020. 9. 21. 17:37
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main() { int n, k, i, t, sum = 0, max = -2147000000; vector vInt; cin >> n >> k; for (i = 0; i > t; vInt.push_back(t); } for (i = 0; i max) max = sum; } cout