[문제]
10867번: 중복 빼고 정렬하기
첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다.
www.acmicpc.net
[문제 풀이]
- 동적할당으로 배열 생성
- 수 입력받기
- sort()로 정렬
- 출력하면서 이전 인덱스와 같은 숫자면 출력 X
[코드]
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int tc;
cin>>tc;
int *a = new int[tc];
for(int i=0;i<tc;i++){
cin>>a[i];
}
sort(a,a+tc);
cout<<a[0];
for(int i=1;i<tc;i++){
if(a[i]!=a[i-1]) cout<<" "<<a[i];
}
}
* 벡터로 받아서 정렬 후 이전 인덱스랑 같은 게 있으면 출력 안하기 말고 지우고 출력 계속하는 방법도 괜찮을 듯!!
[채점 결과]
'CODE > BOJ' 카테고리의 다른 글
[C++] BOJ 15953 : 상금 헌터 (0) | 2021.10.02 |
---|---|
[C++] BOJ 5086 : 배수와 약수 (0) | 2021.10.02 |
[C++] BOJ 10814 : 나이순 정렬 (0) | 2021.09.19 |
[C++] BOJ 2693 : N번째 큰 수 (0) | 2021.09.19 |
[C++] BOJ 2959 : 거북이 (0) | 2021.09.17 |