ALGORITHM/PROGRAMMERS
[프로그래머스] 점프와 순간 이동 (Summer/Winter Coding(~2018))
0298
2021. 7. 22. 21:50
https://programmers.co.kr/learn/courses/30/lessons/12980
코딩테스트 연습 - 점프와 순간 이동
OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈
programmers.co.kr
2021-07-22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public class Solution {
public int solution(int n) {
int ans = 0;
int pos = n;
while(pos != 0) {
if(pos % 2 == 0) pos /= 2;
else {
pos -= 1;
ans++;
}
}
return ans;
}
}
|
cs |
#문제풀이
진짜 어이없게 시간을 질질 끌었던 문제이다.
1억이라는 조건을 제대로 체크 안 하고 bfs로 돌렸다가, 메모리 초과를 얻었다;
그래서 차근차근 그림을 그려보다가 눈치를 챘다,,,
n == 5 일 때를 기준으로 0까지 가는 프로세스들을 보면 알 수 있다.
점프는 현재 포지션이 짝수/홀수 모두 가능 하고, 순간이동은 짝수일때만 가능하다. 하지만, 점프는 최대한 덜 쓰라고 나와있어서, 홀수일때는 점프만 하고, 짝수 일 때는 순간이동만 하기로 하였다.