코딩테스트/BaekJoon

[kotlin] BOJ 2575 문자열 반복

grove1212 2024. 10. 23. 16:20

구조 분해 선언 (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