def solution(n):
answer = 0
while n > 0:
answer += n % 2
n //= 2
return answer
풀이
1. while문 ( n > 0 )
- 2로 나눈 나머지만큼 answer에 더해준다.
- n을 2로 나누어준다.
2. answer 리턴
뒤로 가는 경우는 없고 두배로 순간 이동하거나 앞으로 이동하는 경우의 수밖에 없다.
따라서 목적지에서 2로 나누어주면서 0까지 진행하는 방식으로 가능하다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv2 - 쿼드압축 후 개수 세기 (파이썬) (0) | 2022.05.13 |
---|---|
[프로그래머스] Lv2 - n^2 배열 자르기 (파이썬) (0) | 2022.05.13 |
[프로그래머스] Lv2 - 이진 변환 반복하기 (파이썬) (0) | 2022.05.04 |
[프로그래머스] Lv2 - 모음사전 (파이썬) (0) | 2022.05.03 |
[프로그래머스] Lv2 - 전력망을 둘로 나누기 (파이썬) (0) | 2022.05.03 |