본문 바로가기

PS_Baekjoon

[백준 C++] 2751번 : 수 정렬하기 2

https://www.acmicpc.net/problem/2751

 

2751번: 수 정렬하기 2

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net

풀이 : 

시간 초과가 날 수 있기 때문에 수를 입력받고 바로 set에 넣어서 자동 정렬해주고 출력해준다

 

코드 :

#include <iostream>
#include <set>

using namespace std;

int main(){
    int num, n;
    set<int> s;
    set<int>::iterator iter;

    scanf("%d",&n);
    for(int i=0; i<n; i++){
        scanf("%d",&num);
        s.insert(num);
    }
    for(iter=s.begin(); iter!=s.end(); iter++){
        printf("%d\n",*iter);
    }
}

- 첫 제출은 습관처럼 cin, cout을 썼다가 시간초과가 떴다.

   scanf,printf을 바로 바꿔서 제출해서 맞을 수 있었다.

- cin.tie(NULL);
   ios::sync_with_stdio(false);

   를 넣어서 cin, cout을 쓰더라도 시간 단축을 해줄 수 있다