본문 바로가기
스터디(beakjoon)

Kotlin] 백준 1152번 문제풀이

by 김마리님 2023. 5. 31.

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()
}

 

반응형