[프로그래머스] 점프와 순간 이동 (Javascript)
728x90
반응형
0에서 n까지 가는 dp문제이다.
처음에는 재귀로 dp 돌렸는데 거리가 n을 초과하거나 비용이 더 작을 때만 진행시켜도 시간 초과났다.
거리가 2배인 곳으로 순간이동하는 데 비용이 없어 최대한 순간이동 시켜주는 게 좋으므로
2의 배수라는 것을 처리해주기 위해 %연산자를 써서 n에서 시작해서 0 까지 가준다.
2이 배수가 아닐 때에는 순간이동해서 온게 아니므로 -1로 짝수로 이동해준다.
function solution(n)
{
var ans = 0;
while(n>0){
if(n%2==0){
n/=2;
}else{
n-=1;
ans+=1;
}
}
return ans;
}
728x90
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스] n 개의 최소공배수 (javascript) (0) | 2021.04.30 |
---|---|
[프로그래머스] 배달 (javascript) (0) | 2021.04.28 |
[프로그래머스] 방문 길이 (javascript) (0) | 2021.04.24 |
[프로그래머스] 가장 먼 노드 (javascript, bfs) (0) | 2021.04.20 |
[프로그래머스] 더 맵게 (java, heap) (0) | 2021.04.18 |
TAGS.