Study hard
(c++)백준 11728번: 배열 합치기 본문
https://www.acmicpc.net/problem/11728
[풀이]
mergesort의 merge를 차용하여 풀었다.
cin, cout을 쓰면 시간 초과가 떠서 printf와 scanf를 사용하였다.
#include <iostream>
using namespace std;
#define Max 1000000
int N, M;
int A[Max], B[Max];
int C[Max+Max];
void solution() {
cin >> N >> M;
for (int i = 0; i < N; i++) {
scanf("%d", &A[i]);
}
for (int i = 0; i < M; i++) {
scanf("%d", &B[i]);
}
int i = 0, j = 0, k = 0;
while (i < N && j < M) {
if (A[i] < B[j]) {
C[k++] = A[i++];
}
else {
C[k++] = B[j++];
}
}
while (i < N) {
C[k++] = A[i++];
}
while (j < M) {
C[k++] = B[j++];
}
for (int i = 0; i < N + M; i++) {
printf("%d ", C[i]);
}
printf("\n");
}
int main() {
solution();
return 0;
}
'백준 > 분할 정복' 카테고리의 다른 글
(c++)백준 2448번: 별 찍기 - 11 (0) | 2020.06.30 |
---|---|
(c++)백준 2447번: 별 찍기 - 10 (0) | 2020.06.30 |
(c++)백준 1992번: 쿼드트리 (0) | 2020.06.30 |
(c++)백준 11729번: 하노이 탑 이동 순서 (0) | 2020.06.25 |
(c++)백준 1780번: 종이의 개수 (0) | 2020.06.25 |