코딩테스트 준비(kotlin)/DFS, BFS
[프로그래머스 kotlin] 숫자 변환하기
by 1chanhue1
2024. 7. 3.
import kotlin.math.*
class Solution {
fun solution(x: Int, y: Int, n: Int): Int {
var answer = -1
var dp = Array<Int> (y+1) { 1_000_001 }
dp[x] = 0
for(index in x..y) {
if(dp[index] == 1_000_001) {
continue
}
if (index + n <= y) {
dp[index + n] = min(dp[index+n], dp[index] + 1)
}
if(index * 2 <= y) {
dp[index*2] = min(dp[index*2], dp[index] + 1)
}
if(index * 3 <= y) {
dp[index*3] = min(dp[index*3], dp[index] + 1)
}
if(dp[y] != 1_000_001) {
answer = dp[y]
break
}
}
return answer
}
}