문제
풀이
문제에서 주어진 범위가 크기 때문에 BigInteger 자료형을 활용해야 한다. BigInteger 배열을 이용해 DP로 피보나치 계산을 해주면 된다.
코드
import java.math.BigInteger
fun main() {
val br = System.`in`.bufferedReader()
val bw = System.out.bufferedWriter()
val num = br.readLine().toInt()
val dp = Array(100001) { BigInteger.ZERO }
dp[1] = BigInteger.ONE
for(i in 2 .. num) {
dp[i] = dp[i-1] + dp[i-2]
}
bw.write("${dp[num]}")
bw.flush()
bw.close()
br.close()
}
'알고리즘 > Baekjoon' 카테고리의 다른 글
[백준] 1431번: 시리얼 번호 - Kotlin[코틀린] (0) | 2024.01.02 |
---|---|
[백준] 1138번: 한 줄로 서기 - Kotlin[코틀린] (0) | 2024.01.01 |
[백준] 2578번: 빙고 - Kotlin[코틀린] (0) | 2023.12.27 |
[백준] 1743번: 음식물 피하기 - Kotlin[코틀린] (0) | 2023.12.21 |
[백준] 1965번: 상자넣기 - Kotlin[코틀린] (0) | 2023.12.20 |