[백준] 접두사 (1141)(kotlin)

문제 설명

백준 1141번 문제 링크

입력 및 출력

» 입력

첫째 줄에 단어의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 단어가 주어진다. 단어는 알파벳 소문자로만 이루어져 있고, 길이는 최대 50이다.

» 출력

첫째 줄에 문제의 정답을 출력한다.

예제 입출력(테스트케이스)

입력 출력
6
hello
hi
h
run
rerun
running
4
7
gig
g
goodbye
hello
hihell
giant
5
5
zh
h
hk
hi
hi
3
11
h
runn
xi
running
hio
runc
run
hcc
running
hipo
runni
6

문제 풀이1

fun main() = with(System.`in`.bufferedReader()) {
    val N = readLine().toInt()
    val prefixSet = Array<String>(N) { readLine() }.sortedBy { it.length }
    var count = 0

    for (i in prefixSet.indices) {
        var hasPrefix = false

        for (j in i + 1 until N) {
            if (prefixSet[j].startsWith(prefixSet[i])) {
                hasPrefix = true
                break
            }
        }

        if (!hasPrefix) {
            count++
        }
    }

    println(count)
}