※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 18410번 문제인 マージ (Merge)이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/18410 

 

18410번: マージ (Merge)

長さ N の正整数列 A=(A1, A2, ..., AN) と,長さ M の正整数列 B=(B1, B2, ..., BM) が与えられる. これらの数列は,共に広義単調増加数列である.つまり,A1 ≦ A2 ≦ … ≦ AN, B1 ≦ B2 ≦ … ≦

www.acmicpc.net

A와 B를 주어진 규칙에 따라 합쳐 얻는 결과물 C는 A와 B의 원소들이 크기순으로 정렬된 수열임을 관찰하자. (병합정렬(Merge Sort)을 알고 있다면 이는 당연하게 느껴질 것이다.)

 

따라서 주어지는 N+M개의 수를 배열에 집어넣고 sort를 이용해 정렬하는 것으로 문제를 해결할 수 있다.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <algorithm>
using namespace std;

int N, M;
int arr[1000];
int idx = 0;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> N >> M;
	N += M;

	for (int i = 0; i < N; i++) cin >> arr[i];
	
	sort(arr, arr + N);
	
	for (int i = 0; i < N; i++) cout << arr[i] << '\n';
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 18413 // C++] 最頻値 (Mode)  (0) 2023.01.14
[BOJ 18408 // C++] 3 つの整数 (Three Integers)  (0) 2023.01.14
[BOJ 15819 // C++] 너의 핸들은  (0) 2023.01.13
[BOJ 15830 // C++] 싱크홀  (0) 2023.01.13
[BOJ 15821 // C++] 낚이고 낚아라  (0) 2023.01.13

+ Recent posts