728x90
반응형
SMALL

여러번 시도 후 오늘 생각을 가볍게 해봤더니 성공
- 이때 까지 시도할 땐 당연히 밑에서부터 배터리를 쌓으면서 거리에 도달하는 것만 생각했는데 다시 생각해보니 distance 0 부터 n까지 갈 필요가 없었음. 2배 밖에 못하니까 음수일땐 나누어지는수를 1빼주고, 1뺀건 무조건 이동했다는 의미 ( 배터리 소모) 하기때문에 또 나눠질때까지 2로 나눠줌
그럼결국 1 까지 도달하기때문에 1씩빼준 거리 즉 1씩 이동한 거리만 배터리 소모값을 더해주면됨
/**
- K칸 앞으로 점프 or (현재까지 온거리) *2 해당 "위치"로 순간이동
- 순간이동- 건전지X, K점프 -건전지 사용량듦
=> 순간 이동이 더 효율적임
N만큼 떨어진 장소로 이동하려함
단, 건전지 사용량을 줄이기 위해 점프로 이동하는것 최소화,
return: 건전지 사용량의 최솟값
*/
function solution(n)
{
let battery = 0;
let divide = n;
while(divide>0){
if(divide%2===0){
divide /=2 ;
}else{
divide -=1;
battery+=1;
}
}
return battery;
}
여러번 해도 안되더니 갑자기되네,,
LIST
'CS > 알고리즘' 카테고리의 다른 글
| [2018 KAKAO BLIND RECRUITMENT] PGS lv2. [1차] 캐시 (0) | 2025.09.15 |
|---|---|
| [완전탐색] PGS lv2.피로도 (0) | 2025.09.15 |
| [해시] PGS lv2. 의상 (0) | 2025.09.14 |
| [연습문제] PGS lv2. 행렬의 곱셈 (0) | 2025.09.14 |
| [연습문제] PGS lv1. 가장 가까운 같은 글자 (0) | 2025.09.10 |