코딩테스트/BOJ

[BOJ/C++] 2750::수 정렬하기 (정렬)

HONGGG 2023. 11. 30. 03:01

수 정렬하기

 

시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율
1 초 128 MB 190786 108744 74741 57.914%

문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

입력

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

출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

 

예제 입력 1 복사

5
5
2
3
4
1

예제 출력 1 복사

1
2
3
4
5

 


후기

정말 간단한 정렬 문제였다.

 

algorithm의 sort를 쓰든 나와 같이 자동 정렬 기능이 있는 자료구조를 사용하든 상관 없다.

set은 트리로 데이터를 저장하며 기본 오름차순 정렬을 하기에 해결에 사용될 수 있었다.

 

#include <iostream>
#include <set>

using namespace std;


int main() {
	int n;
	cin >> n;

    set<int> sorting;

    while(n--) {
        int number = 0;
        cin >> number;
        sorting.insert(number);
    }

    for (set<int>::iterator iter = sorting.begin(); iter != sorting.end(); iter++) {
        cout << *iter << '\n';
    }

	return 0;
}