- 최대한 2를 많이 곱하는것이 좋으므로 .. 나누어 떨어지지 않을 때만 1 빼준다.
- 나누어 떨어진다면 2로 나누어 준다.
- 1 빼줄때는 이동하는 경우로 따로 카운팅 해준 다음에 리턴
from collections import deque
def solution(n):
count = 0
while True:
if n % 2 == 1:
n = n - 1
count += 1
else:
n = n // 2
if n == 0:
break
return count
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
'알고리즘[Python] > 프로그래머스' 카테고리의 다른 글
[ Lv 2 ] 이진 변환 반복하기 (0) | 2021.06.29 |
---|---|
[ Lv 2 ] [1차] 캐시 (0) | 2021.06.28 |
[ Lv 2 ] 주식가격 (0) | 2021.06.28 |
[ Lv 2 ] [1차] 프렌즈4블록 (0) | 2021.06.27 |
[ Lv 2 ] 영어 끝말잇기 (0) | 2021.06.27 |