구조 분해 선언 (destructuring declaration)
코틀린에서 구조 분해 선언을 사용하면, 리스트나 데이터 클래스로부터 여러 값을 한 번에 추출하고 변수에 할당할 수 있다.
val (r, s) = br.readLine().split(" ")
과 같이 사용할 수 있다.
String.repeat()
문자열(String) 클래스의 확장 함수이다. 문자열에 대해 반복된 문자열을 생성하고 싶을 때 사용하는 함수로, String.repeat(n) 형식으로 사용한다.
n이 0인 경우 빈 문자열을 반환한다.
원본 문자열은 변하지 않으며, 반복된 문자열을 새로운 문자열로 반환한다.
it.repeat는 반복 함수 repeat의 맥락에서, 람다 내에서 it가 String 타입일 때 사용된 것이다.
joinToString
어떤 타입이든 리스트 등의 원소들을 모두 하나의 문자열로 만들어주는 함수이다. 매개변수로는 seperator가 들어간다.
내 코드
import java.io.BufferedReader
import java.io.InputStreamReader
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
val t = br.readLine().toInt()
repeat(t) {
val (r, s) = br.readLine().split(" ")
val repeatCont = r.toInt()
val result = s.map { it.toString().repeat(repeatCont) }.joinToString("")
println(result)
}
}
'코딩테스트 > BaekJoon' 카테고리의 다른 글
[Java] BOJ 1912 연속합 (3) | 2025.08.05 |
---|---|
[Java] BOJ 2193 이친수 (2) | 2025.08.04 |
[kotlin] BOJ 2577 숫자의 개수 (0) | 2024.10.23 |
[kotlin] BOJ 1152 단어의 개수 (1) | 2024.10.23 |
[kotlin] BOJ 10250 ACM 호텔 (1) | 2024.10.23 |