목록전체 글 (16)
ㅎvㅎ

DP를 이용해서 풀음 #include #include #include #include using namespace std; int main() { int h, w; cin >> h >> w; vector vec(h + 1, vector(w + 1, 0)); vector dynamic(h + 1, vector(w + 1, 0)); for (int i = 1; i vec[i][j]; dynamic[i][j] = dynamic[i - 1][j] + dynamic[i][j - 1] - dynamic[i - 1][j - 1] + vec[i][j]; } } int width, length; cin >> width >> length; int result = 0; for (int i = width; i < h; i++..

처음엔 어떻게 풀어야하는지 잘 몰랐는데, 정면과 오른쪽의 배열을 받은 수로 최대값을 제한해주면 되는 문제였다 #include #include #include #include using namespace std; int main() { int n; cin >> n; vector vec(n, vector(n, 0)); vector frontMax(n, 0); vector rightMax(n, 0); for (int i = 0; i > frontMax[i]; } // 정면에 대한 최대값 넣기 for (int j = 0; j < n; j++) { for (int i = 0; i < n; i++) { vec[i][j] = frontMax[j]; } } for (int i = n - ..

저번주에 자소서 쓰느라 정렬 문제를 다 못 풀어서 정렬 문제를 푸는 시간을 가졌다 삽입 정렬을 이용해서 푸는 문제 #include #include using namespace std; int main() { int size, n; cin >> size >> n; vector cache ( size, 0 ); cin >> cache[0]; for (int i = 1; i > workNum; // 찾는 값이 캐시에 있을 때 if (find(cache.begin(), cache.end(), workNum) != cache.end()) { // 뒤로 밀기 for (int j = find(cache.begin(), cache.end(), workNum) - c..

정렬 문제를 푸는 시간을 가졌다. #include #include #include using namespace std; int main() { int n; cin >> n; vector scores; for (int i = 0; i > value; scores.push_back(value); } // 내림차순 정렬 sort(scores.begin(), scores.end()); reverse(scores.begin(), scores.end()); int score = scores[0], count = 1; for (int i = 1; i scores[i]) { score = scores[i]..

진도를 많이 못 나가서 아직도 구현 문제를 풀고 있다 ㅜㅜ #include #include #include using namespace std; int main() { string num; cin >> num; vector count(10, { 0, 0 }); for (char c : num) { if (c >= '0' && c b.second; }); cout 숫자 -> 뒤집기 -> 문자열 어떻게 풀어야 하는지 방법만 알고 있으면 gpt가 다 코드 짜줘서 현타가 잠깐 온다 .. 다음 주 모각코 때는 꼭 다음 파트로 ㅎ ,ㅎ

강의에서 코드 구현력을 기르는 문제라고 되어있어서 좀 긴장했는데 엄청 쉬운 난이도여서 당황.. 그래서 1번은 패스 n^2 으로 풀었다.. 왜 항상 for를 2개 쓸 수 밖에 없는 걸까? ㅜㅜ 알고리즘을 적용해보고 싶어서,, 찾아봤는데 for문 2개 돌려가면서 비교하지 않아도 풀 수 있는 방법이 있었다.. 내가 풀었던 방법은 값 하나하나 차를 구해서 max값보다 큰지 비교하는 방식이었는데 이 문제에서는 최대 나이 차이를 구하라고 했으니까 가장 큰 수와 가장 작은 수가 뭔지만 알면 된다. 그래서 c++에서 int의 범위를 찾아보면 -2,147,483,648 ~ 2,147,483,647 인데, max와 min을 저 숫자로 정해놓고 값 입력받을 때 max와 min만 비교해주면 된다. . . ㅎ; 1회차 풀이 #..