#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))
'알고리즘 문제' 카테고리의 다른 글
Programmers Level 4 가장 큰 정사각형 찾기 ★ (0) | 2018.01.28 |
---|---|
Programmers Level 4 숫자의 표현 (0) | 2018.01.28 |
Programmers Level 3 야근 지수 (0) | 2018.01.28 |
Programmers Level 3 멀리 뛰기 (0) | 2018.01.28 |
Programmers Level 3 시저 암호 (0) | 2018.01.28 |