[Python][프로그래머스][Level2] 다음 큰 숫자

[Python][프로그래머스][Level2] 다음 큰 숫자

코드

def solution(n):
    cnt=n+1
    while True:
        if bin(n).count('1')== bin(cnt).count('1'):
            return cnt
        cnt+=1

완전 탐색으로 풀었다.

n보다 크고 이진법으로 변환했을시 1의 개수가 같은 수는

n보다 그리 크지 않기 때문에 n+1부터 하나씩 확인해도 충분하다.

따라서 이진법으로 표현한 n의 1의 개수가 같은 값을 확인해서 return 하면 된다.

Discussion and feedback