본문 바로가기

알고리즘 문제

Programmers Level 3 다음 큰 숫자

#n을 2진수로 바꾸고 n+=1 한 숫자를 이진수로 변환해서 1의 개수가 같은지 판단하기.

def nextBigNumber(n):

    binary = bin(n).lstrip('0b')#앞에 0b 없애기

    newn=n

    while True:

        newn += 1

        newbin = bin(newn).lstrip('0b')

        if newbin.count('1')==binary.count('1'): break

    return newn


#아래 코드는 테스트를 위한 출력 코드입니다.

print(nextBigNumber(78))