백준 2775 부녀회장이 될테야 (Kotlin, 코틀린)

jonghyukLee·2023년 5월 5일
0

이번에 풀어본 문제는
백준 2775번 부녀회장이 될테야 입니다.

📕 문제 링크

❗️코드

import java.io.BufferedReader
import java.io.InputStreamReader
import java.lang.StringBuilder
import kotlin.math.max

fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    var tc = br.readLine().toInt()

    var maxK = Integer.MIN_VALUE
    val list = mutableListOf<Pair<Int, Int>>()

    while (tc-- > 0) {
        var k = br.readLine().toInt()
        var n = br.readLine().toInt()

        list.add(k to n)
        maxK = max(maxK, k)
    }

    var dp = Array(maxK + 1) { Array(15) { i -> i } }

    for (i in 1..maxK) {
        for (j in 1..14) {
            dp[i][j] = dp[i][j - 1] + dp[i - 1][j]
        }
    }
    val sb = StringBuilder()

    list.forEach { (k, n) ->
        sb.append("${dp[k][n]}\n")
    }
    print(sb.deleteCharAt(sb.length - 1).toString())
}

📝 풀이

k와 n이 주어질 때, k층 n호에는 k - 1층의 1호~ n호까지의 사람만큼 들어가 있어야 한다는 조건이 있습니다.
입력된 가장 높은 층수를 구하고, 해당 층 까지의 모든 경우를 구해놓고 출력만 해주었습니다.

코틀린으로 푸는거 생각보다 재밌네요 ㅋㅋㅋㅋ 역시 새로운게 자극제가 되는 것 같습니다!

profile
머무르지 않기!

0개의 댓글