문제
풀이
이 문제는 문제의 설명에 따라 구현하면 되는 문제이다.
우선 알파벳의 개수인 26을 길이로 하는 check 배열을 만들어준다.
check[0] = a, check[1] 은 b, ... check[25] = z 를 의미하는 것이다.
check[문자 - 'a']를 통해 문자를 체크 할 수 있다.
반복문에서 문자를 체크해주며 이번 문자가 전 문자와 같다면 continue로 생략한다.
check 배열이 true이면 이 문자열은 그룹단어가 아니므로 cnt 를 -1 해준다.
코드
fun main() {
val br = System.`in`.bufferedReader()
val bw = System.out.bufferedWriter()
val num = br.readLine().toInt()
var cnt = num
repeat(num) {
val check = BooleanArray(26)
val word = br.readLine()
check[word[0]-'a'] = true
for(i in 1 until word.length) {
if(word[i]==word[i - 1]) continue
if(check[word[i] - 'a']) {
cnt--
break
} else {
check[word[i] - 'a'] = true
}
}
}
bw.write("$cnt")
bw.flush()
bw.close()
br.close()
}
'알고리즘 > Baekjoon' 카테고리의 다른 글
[백준] 2751번: 수 정렬하기 2 - Kotlin[코틀린] (0) | 2023.07.17 |
---|---|
[백준] 1463번: 1로 만들기 - Kotlin[코틀린] (0) | 2023.07.17 |
[백준] 10828번: 스택 - Kotlin[코틀린] (0) | 2023.07.15 |
[백준] 1065번: 한수 - Kotlin[코틀린] (0) | 2023.07.14 |
[백준] 4673번: 셀프 넘버 - Kotlin[코틀린] (0) | 2023.07.13 |