문제 요약
배열 길이 n, m과 그 길이에 해당하는 '정렬된' 배열이 있다고 할 때, 이 배열을 합쳐 정렬해 출력하는 문제
문제 풀이
배열을 각각 입력 받고 정렬된 순서로 비교하면서 출력하면 되어서 별로 어려운 문제는 아니었는데 문제는 자꾸 시간초과가 발생했다. 결론은
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);이 코드를 넣었어야 했다.
이에 대한 자세한 설명은 따로 쓰겠다.
코드
//
// 11728.cpp
// algorithm_study
//
// Created by Jihyun Kyoung on 2023/08/10
//
#include<iostream>
#include<algorithm>
#include<vector>
#define MAX 1000000
using namespace std;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int n, m,tmp, i, j;
cin>>n;
cin>>m;
int a[n], b[m];
int a_ind=0;
int b_ind=0;
for(a_ind=0;a_ind<n;a_ind++){
cin>>a[a_ind];
}
for(b_ind =0;b_ind<m;b_ind++){
cin>>b[b_ind];
}
for(b_ind =0,a_ind=0;b_ind<m&&a_ind<n;){
if(a[a_ind]<b[b_ind]){
cout<<a[a_ind++]<<" ";
}
else
cout<<b[b_ind++]<<" ";
}
while(b_ind<m){
cout<<b[b_ind++]<<" ";
}
while(a_ind<n){
cout<<a[a_ind++]<<" ";
}
cout<<endl;
}