Fascination
article thumbnail

[문제]

 

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
profile

Fascination

@euna-319

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!