본문 바로가기
알고리즘/BAEKJOON

BOJ 11728 : 배열 합치기

by 피로물든딸기 2021. 2. 17.
반응형

알고리즘 문제 전체 링크

 

www.acmicpc.net/problem/11728

 

 

Merge Sort에서 정렬된 배열을 합칠 때, 사용하는 merge 함수를 변형해서 사용하면 된다.

#include <stdio.h>

int N, M;

int a[1000100];
int b[1000100];

int main(void)
{
	scanf("%d %d", &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, j;

	i = j = 0;
	while (i < N && j < M)
	{
    	/* 둘 중 작은 것을 먼저 출력 */
		if (a[i] <= b[j]) printf("%d ", a[i++]);
		else printf("%d ", b[j++]);
	}

	/* 남은 배열을 출력, 두 while 중 반드시 하나만 실행된다 */
	while (i < N) printf("%d ", a[i++]);
	while (j < M) printf("%d ", b[j++]);

	return 0;
}
반응형

'알고리즘 > BAEKJOON' 카테고리의 다른 글

BOJ 15650 : N과 M (2) - 조합 combination  (0) 2021.02.20
BOJ 15649 : N과 M (1) - 순열 permutation  (0) 2021.02.20
BOJ 2751 : 수 정렬하기 2  (1) 2021.02.16
BOJ 14501, 15486 : 퇴사, 퇴사 2  (0) 2021.02.15
BOJ 10866 : 덱  (0) 2021.02.08

댓글