https://www.acmicpc.net/problem/1152
1152번: 단어의 개수
첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열
www.acmicpc.net
풀이
더보기

이 문제는 단순히 split(" ")으로 나누어서 될 문제는 아니다. 만약 공백 두 개가 붙어있다면, 배열 하나는 빈 상태로 나오기 때문이다.
따라서, split으로 나눈 후 공백 검사를 한번 더 해주어야 한다. 코틀린의 경우 배열 뒤에 count를 붙이고, { } 내부에 조건을 삽입하면 조건에 맞는 요소만 카운팅 해준다.
import java.io.BufferedWriter
import java.io.OutputStreamWriter
fun main(args: Array<String>) {
question1152()
}
fun question1152() {
var writer = BufferedWriter(OutputStreamWriter(System.out))
writer.write("${readLine()!!.split(" ").count { it.isNotEmpty() }}")
writer.flush()
}

반응형
'스터디(beakjoon)' 카테고리의 다른 글
| Kotlin] 백준 5622번 문제풀이 (0) | 2023.06.01 |
|---|---|
| Kotlin] 백준 2908번 문제풀이 (0) | 2023.05.31 |
| Kotlin] 백준 10809번 문제풀이 (0) | 2023.05.30 |
| Kotlin] 백준 2675번 문제풀이 (0) | 2023.05.30 |
| Kotlin] 백준 11720번 문제풀이 (0) | 2023.05.26 |