문제
정렬되어있는 두 배열 A와 B가 주어진다. 두 배열을 합친 다음 정렬해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000)
둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거나 같은 정수이다.
출력
첫째 줄에 두 배열을 합친 후 정렬한 결과를 출력한다.
Solved.ac 레벨
실버 V
풀이
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n, m;
int aIdx = 0, bIdx = 0;
cin >> n >> m;
int a[n + 1];
int b[m + 1];
for(int i = 0; i < n; i++) {
cin >> a[i];
}
for(int i = 0; i < m; i++) {
cin >> b[i];
}
while(aIdx < n && bIdx < m) {
if(a[aIdx] <= b[bIdx]) {
cout << a[aIdx++] << " ";
} else {
cout << b[bIdx++] << " ";
}
}
while(aIdx < n) {
cout << a[aIdx++] << " ";
}
while(bIdx < m) {
cout << b[bIdx++] << " ";
}
return 0;
}
'Study (etc) > Problem Solving' 카테고리의 다른 글
[BOJ / C++] 16923번 : 다음 다양한 단어 (0) | 2023.05.08 |
---|---|
[BOJ / C++] 25916번 : 싫은데요 (1) | 2023.05.08 |
[BOJ / C++] 17609번 : 회문 (0) | 2023.05.07 |
[BOJ / C++] 2018번 : 수들의 합 5 (0) | 2023.05.04 |
[BOJ / C++] 11123번 : 양 한마리... 양 두마리... (0) | 2023.05.03 |