[BOJ 골드2] 성냥개비 Koltin

JIHOON·2022년 6월 2일
0

문제

코드

fun main() = with(System.`in`.bufferedReader()) {
    val n = readLine().toInt()
    var minDp = LongArray(101){Long.MAX_VALUE}
    minDp[2] = 1
    minDp[3] = 7
    minDp[4] = 4
    minDp[5] = 2
    minDp[6] = 6
    minDp[7] = 8
    minDp[8] = 10
    val add = arrayOf("1","7","4","2","0","8")


    for(i in 9..100){
        for(j in 2..7){
            var cur = minDp[i-j].toString() + add[j-2]
            minDp[i] = Math.min(minDp[i],cur.toLong())
        }
    }

    repeat(n){
        val sb= StringBuilder()
        val num =readLine().toLong()
        val a = num/2
        val b= num%2
        when(b){
            0L -> sb.append(1)
            1L -> sb.append(7)
        }
        for(i in 1 until a){
            sb.append(1)
        }

        println("${minDp[num.toInt()]} ${sb.toString()}")
    }
}
profile
https://github.com/Userz1-redd

0개의 댓글