본문 바로가기
Study (etc)/Problem Solving

[BOJ / C++] 11728번 : 배열 합치기

by Haren 2023. 5. 7.

문제

정렬되어있는 두 배열 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;
}

 

 

11728번: 배열 합치기

첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거

www.acmicpc.net