728x90
반응형
문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/12911
풀이:
def solution(n):
number = bin(n)[2:] # 2: 해줘야 앞에 필요없는 수 제거
while True: # True 일때까지 반복
if bin(n+1)[2:].count('1') == number.count('1'): # n+1 의 2진법 1 카운트와 같으면
return n +1 # n+1 리턴
else:
n += 1 # 다르면 n 에 +1 해줌
print(solution(78))
def nextBigNumber(n, count = 0):
return n if bin(n).count("1") is count else nextBigNumber(n+1, bin(n).count("1") if count is 0 else count)
이렇게 한줄로 표현하는게 놀랍다.
반응형
댓글