Uknow's Lab.
article thumbnail

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

 

10867번: 중복 빼고 정렬하기

첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다.

www.acmicpc.net

 

난이도 : 실버 5
태그 : 정렬

 

 

설명

중복이 없게 함을 위해 set 자료구조를 사용하였습니다.

set (집합)은 자료에 순서가 없고, 중복 또한 없기 때문에 중복을 제거할 때 유용합니다.

모든 데이터를 다 받았을 때, 한 번만 정렬하여 출력하면 됩니다.

 

소스코드

 

import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.StringTokenizer

fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val n = br.readLine().toInt()
    val st = StringTokenizer(br.readLine())
    val sb = StringBuilder()

    val hashSet = HashSet<Int>()

    repeat(n) {
        hashSet.add(st.nextToken().toInt())
    }

    hashSet.sorted().forEach {
        sb.append("$it ")
    }
    println(sb.trim())
}

 

profile

Uknow's Lab.

@유노 Uknow

인생은 Byte와 Double 사이 Char다. 아무말이나 해봤습니다.