[백준] 1932번: 정수 삼각형

kldaji·2021년 10월 15일
0

백준문제풀이

목록 보기
9/35

문제

https://www.acmicpc.net/problem/1932

풀이

  • 메모이제이션
import kotlin.math.max

fun main() {
    val br = System.`in`.bufferedReader()
    val bw = System.out.bufferedWriter()
    val n = br.readLine().toInt()
    val triangleList = mutableListOf<MutableList<Int>>()
    repeat(n) {
        triangleList.add(br.readLine().toString().split(" ").map { it.toInt() }.toMutableList())
    }
    for (i in 1 until n) {
        for (j in 0..i) {
            when (j) {
                0 -> triangleList[i][j] += triangleList[i - 1][j]
                i -> triangleList[i][j] += triangleList[i - 1][j - 1]
                else -> triangleList[i][j] += max(triangleList[i - 1][j - 1], triangleList[i - 1][j])
            }
        }
    }
    bw.write("${triangleList[n - 1].maxOf { it }}")
    bw.close()
    br.close()
}

더 좋은 풀이 방법 댓글로 달아주세요!!

profile
다양한 관점에서 다양한 방법으로 문제 해결을 지향하는 안드로이드 개발자 입니다.

0개의 댓글