11728) 배열 합치기

경지현·2023년 8월 10일

algorithm_study

목록 보기
17/21

문제 요약

배열 길이 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;
}
profile
그냥 사람

0개의 댓글