[백준] 접두사 (1141)(kotlin)
문제 설명
입력 및 출력
» 입력
첫째 줄에 단어의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 단어가 주어진다. 단어는 알파벳 소문자로만 이루어져 있고, 길이는 최대 50이다.
» 출력
첫째 줄에 문제의 정답을 출력한다.
예제 입출력(테스트케이스)
입력 | 출력 |
---|---|
6 hello hi h run rerun running |
4 |
7 gig g goodbye hello hi 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)
}