본문 바로가기
  • 개발하는 곰돌이
Algorithm/BOJ

[Kotlin] 백준 16499 : 동일한 단어 그룹화하기

by 개발하는 곰돌이 2023. 3. 10.

문제 링크

 

16499번: 동일한 단어 그룹화하기

첫째 줄에 단어의 개수 N이 주어진다. (2 ≤ N ≤ 100) 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 소문자로만 이루어져 있고, 길이는 10을 넘지 않는다.

www.acmicpc.net



문제 해설

그룹에 속한 단어는 모두 같은 알파벳으로 이루어져 있고, 개수도 같다는 것은 결국 해당 그룹에 속한 문자열들은 각각 정렬했을 때 같은 문자열이 된다는 뜻이다. 즉, 입력받은 문자열을 문자배열로 변경하여 정렬한 후, 다시 문자열로 변경하여 Set에 저장하면 그룹의 최소 개수를 구할 수 있다. 이후 Set의 크기를 출력하면 된다.


Code

fun main() = with(System.`in`.bufferedReader()) {
    val set = HashSet<String>()
    repeat(readLine().toInt()) {
        set.add(readLine().toCharArray().sortedArray().joinToString(""))
    }
    println(set.size)
}

댓글