개발/algorithm
[프로그래머스][level2] 점프와 순간 이동
zzi_on2
2022. 3. 29. 19:44
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/12980
코딩테스트 연습 - 점프와 순간 이동
OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈
programmers.co.kr
풀이
- bfs로 시도했지만 규칙을 찾아서 푸는 구현 문제...
- 거꾸로 이동하면서
n이 2의 배수이면 건전지를 사용하지 않고 순간이동을 통해 이동할 수 있으므로 n // 2 로 이동
n을 2로 나누었을 때 나머지가 1이면 건전지를 사용해서 한 칸 이동후 n //2 로 이동하므로, ans + 1
def solution(n):
ans = 0
while n > 0 :
if n % 2 != 0:
ans += 1
n //= 2
return ans