def solution(n):
ans = 0
while n!=0:
if n%2==0:
n=n//2
else:
ans+=1
n=(n-1)//2
return ans
거꾸로 숫자 세기
20 >10>5>4>2>1>0
두배가 안되는건 점프니까 count해주기
다른사람풀이
def solution(n):
return bin(n).count('1')
이진법에서 1은 홀수인걸 나타냄 > 1숫자는 홀수 갯수 == 위 풀이에서도 +1 하는거만 셋으니
근데 시간복잡도는 둘 다 logn이라는데 그럼 굳이 아닐까?
'코테 공부' 카테고리의 다른 글
| 프로그래머스 Lv.2 예상 대진표 (1) | 2024.10.03 |
|---|---|
| 프로그래머스 Lv.2 멀리 뛰기 (1) | 2024.10.03 |
| 프로그래머스 Lv.2 짝지어 제거하기 (1) | 2024.10.03 |
| 프로그래머스 Lv.2 N개의 최소공배수 (1) | 2024.10.03 |
| 프로그래머스 Lv.2 피보나치 수 (0) | 2024.10.02 |