-
[백준/BOJ] 11728번 배열 합치기 (C++)알고리즘 문제풀이/백준 2021. 1. 10. 17:21
병합 정렬의 근본이 되는 문제였습니다. 해당 문제를 풀고나서 2751번 문제를 풀어보면 좋습니다.
#include <iostream> #include <vector> using namespace std; int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); int n, m; cin >> n >> m; vector<int> v1(n), v2(m), answer; for(int i = 0; i < n; i++) { cin >> v1[i]; } for(int i = 0; i < m; i++) { cin >> v2[i]; } int p1 = 0, p2 = 0; while(p1 < n && p2 < m) { if(v1[p1] <= v2[p2]) answer.push_back(v1[p1++]); else answer.push_back(v2[p2++]); } // v1 벡터 원소가 남은 경우 while(p1 < n) { answer.push_back(v1[p1++]); } // v2 벡터 원소가 남은 경우 while(p2 < m) { answer.push_back(v2[p2++]); } for(int i = 0; i < m + n; i++) { cout << answer[i] << " "; } }
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
[백준/BOJ] 11931번 수 정렬하기 4 (C++) (0) 2021.01.10 [백준/BOJ] 2751번 수 정렬하기 2 (C++) (0) 2021.01.10 [백준/BOJ] 2178번 미로 탐색 (C++) (0) 2021.01.09 [백준/BOJ] 1926번 그림 (C++) (0) 2021.01.09 [백준/BOJ] 1158번 요세푸스 (C++) (0) 2021.01.08