Programming/백준 (c++)
[백준] #10867: 중복 빼고 정렬하기
마이구미포포
2022. 9. 11. 23:13
https://www.acmicpc.net/problem/10867
10867번: 중복 빼고 정렬하기
첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다.
www.acmicpc.net
문제
N개의 정수가 주어진다. 이때, N개의 정수를 오름차순으로 정렬하는 프로그램을 작성하시오. 같은 정수는 한 번만 출력한다.
입력
첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다.
출력
첫째 줄에 수를 오름차순으로 정렬한 결과를 출력한다. 이때, 같은 수는 한 번만 출력한다.
예제 입력 1
10
1 4 2 3 1 4 2 3 1 2
예제 출력 1
1 2 3 4
코드
#include <iostream>
#include <set>
using namespace std;
int main() {
int n, input;
set<int> s;
//입력
cin >> n;
while (n--) {
cin >> input;
s.insert(input); //셋에 삽입
}
//출력
//set<int>::iterator iter; >auto를 쓰면 굳이 이렇게 하지 않아도됨
//auto:초기화 값에 따라 데이터 타입을 자동으로 정해줌
for ( auto iter = s.begin(); iter != s.end(); iter++) {
cout << *iter << ' ';
}
}