SMALL
문제출처
풀이코드
def solution(n):
answer = 0
while n != 0:
if n!=1:
if n%2 == 0:
n //= 2
else:
n -=1
answer +=1
n //= 2
else:
n-=1
answer+=1
return answer
0에서 n 위치까지 갈 때 얼만큼 건전지 소비를 하는 것인가를 물어보는 문제입니다.
문제를 뒤집어서 n 위치에서 0에 도착할 때까지 건전지를 얼마나 소비할까 로 바꾸면 문제풀이가 좀 더 쉬워집니다.
현재 위치(n)가 짝수라면 나누기 2 를 해서 순간이동을 하면 됩니다.
현재 위치(n)가 홀수라면 현재 위치에서 한 칸 이동합니다. (-1)
건전지를 사용했기 때문에 건전지소비는 (+1)을 더해줍니다.
만약 현재 위치가 1이라면
한 칸 이동한 뒤(-1) 건전지 소비량에 1을 더한 뒤
반복문을 빠져나오도록 코드를 작성하면 됩니다.
LIST
'알고리즘-python > Programmers 문제' 카테고리의 다른 글
[프로그래머스/1단계/파이썬(Python3)] 숫자 문자열과 영단어 (0) | 2021.07.15 |
---|---|
[프로그래머스/2단계/파이썬(Python3)] 캐시 (0) | 2021.07.13 |
[프로그래머스/2단계/파이썬(Python3)] 더 맵게 (0) | 2021.07.08 |
[프로그래머스/2단계/파이썬(Python3)] 삼각달팽이 (0) | 2021.07.07 |
[프로그래머스/1단계/파이썬(Python3)] 모의고사 (0) | 2021.07.04 |