점프와 순간이동
[JS] 점프와 순간이동
시간 효율성을 생각하기 위해서 많이 고민했던 문제였다. 맨 처음에는 재귀를 활용해서 풀어보려고 했다. 재귀로 모든 경우의수를 찾아보려고 했는데 케이스가 10억까지기 때문에 생각한데로 5000만 넣어도 시간초과가 발생했다. 두번째로 생각했던 방법은 dp를 활용한 것이었다.. function solution(n) { const dp = new Array(n+1).fill(Infinity) dp[0] = 0 for (let i = 1 ; i < dp.length ; i++) { if (i%2) dp[i] = dp[(i-1)/2] + 1 else dp[i] = dp[i/2] for (let j = i-dp[i] ; j < i ; j++){ if (dp[j] + i-j < dp[i]) dp[i] = dp[j] +..