https://programmers.co.kr/learn/courses/30/lessons/12980
코딩테스트 연습 - 점프와 순간 이동
OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈
programmers.co.kr
function solution(n) {
let cnt = 0;
while (n) {
if (n % 2 == 0) {
n /= 2;
} else {
n -= 1;
cnt++;
}
}
return cnt;
}
N의 범위가 10억이라 배열에 할당하여 푸는 문제가 아니라고 판단
0에서 N으로 가는 문제가 아니라 N에서 0으로 가는 문제라고 생각하면
계속 2로 나누어주며 2로 나누어지지 않는 경우 1을 빼주면 된다고 생각했다.
2으로 나눌수 있다면 나눠주는게 더 적은 횟수로 0으로 갈 수 있기 떄문(거기다 횟수로도 안침)
'Algorithm > PGMS' 카테고리의 다른 글
| PGMS - 피로도 (0) | 2022.01.14 |
|---|---|
| PGMS - 소수찾기 (0) | 2022.01.13 |
| PGMS 캐시 (0) | 2022.01.10 |
| PGMS 전력망을 둘로 나누기 (0) | 2022.01.10 |
| PGMS 거리두기 확인하기 (0) | 2021.12.29 |
