Algorithm/백준과 프로그래머스

[C++] 11728 : 배열 합치기

young_3060 2022. 4. 12. 21:28
728x90

[ 구현 방법 ]

 

[ vector 이용 ]

void Array() {
    int n, m;
    cin >> n >> m;
    vector<int> array;
    for(int i=0; i<n; i++) {
        int input;
        cin >> input;
        array.push_back(input);
    }
    for(int i=0; i<m; i++) {
        int input;
        cin >> input;
        array.push_back(input);
    }
    sort(array.begin(), array.end());
    for(auto a : array) cout << a << " ";
}

 

[ merge sorting ]

void mergeArray() {
    int n, m, check_n = 0, check_m = 0;
    cin >> n >> m;
    int arr_a[n], arr_b[m], arr[n+m];
    for(int i=0; i<n; i++) cin >> arr_a[i];
    for(int i=0; i<m; i++) cin >> arr_b[i];
    
    while(check_n + check_m < n + m) {
        if(check_n == n) cout << arr_b[check_m++] << " ";
        else if(check_m == m) cout << arr_a[check_n++] << " ";
        else{
            if (arr_a[check_n] <= arr_b[check_m])
                cout << arr_a[check_n++] << " ";
            
            else
                cout << arr_b[check_m++] << " ";
            
        }
    }
}
728x90

'Algorithm > 백준과 프로그래머스' 카테고리의 다른 글

[C++] 9012. 괄호  (0) 2023.07.14
[C++] 10828. 스택  (0) 2023.07.11
[C++] 2751. 수 정렬하기 2  (0) 2023.07.06
[C++] 2193 : 이친수  (0) 2022.04.12
[C++] 5576번 콘테스트  (0) 2022.03.22