https://school.programmers.co.kr/learn/courses/30/lessons/12980
def solution(n):
ans = 0
while n != 0:
if n % 2 != 0:
n -= 1
ans += 1
else:
n /= 2
return ans
문제 풀이
- 목적지 위치를 2로 나누고
- 짝수면 순간이동할 수 있다는 것이니 나눠주고
- 홀수면 -1을 해줌으로써 짝수를 만들어 주고 이는 건전지를 하나 사용한다는 뜻!
다른 분의 풀이 : 깜짝 놀랐다.
def solution(n):
return bin(n).count('1')
- n을 2진수로 변환한 후 1의 개수를 센다.