내 코드
def solution(n):
a1 = bin(n)[2:].count('1')
b1 = 0
i=1
while a1 != b1:
b = bin(n+i)[2:]
b1 = b.count('1')
i+=1
return int(b,2)
n의 1의 갯수를 구하고 n+i의 이진수의 1의 갯수가 n의 이진수의 1의 갯수와 같을 때까지 구해준다.
다른사람 코드
def nextBigNumber(n):
num1 = bin(n).count('1')
while True:
n = n + 1
if num1 == bin(n).count('1'):
break
return n
비슷하다!!! i를 더해주는 방식이 아닌 n을 조정하여 푼 것이다.
'코딩테스트 > Python' 카테고리의 다른 글
[프로그래머스] [3차] n진수 게임 (0) | 2021.09.07 |
---|---|
[프로그래머스] 올바른 괄호 (0) | 2021.09.07 |
[프로그래머스] 최댓값과 최솟값 (0) | 2021.09.07 |
[프로그래머스] N개의 최소공배수 (0) | 2021.09.07 |
[프로그래머스] 최솟값 만들기 (0) | 2021.09.07 |