728x90
programmers.co.kr/learn/courses/30/lessons/12911
접근
n+1부터 검사를 하여 bin()을 통해 이진수로 변한 후 1의 개수를 카운트하였다.
그리고 입력받은 n과 같을 때 출력하도록한다.
구현
먼저 입력받은 n을 이진수로 변환하고 1의 개수를 cmp에 저장한다.
그리고 n+1부터의 수를 이진수로 변환하고 1의 개수를 카운트하여 cmp와 비교한다.
같을 때에는 answer에 추가하고 break를 하여 탐색을 종료한다.
def solution(n):
answer = 0
cmp = bin(n).count('1')
for num in range(n+1, 1000001):
cnt = bin(num).count('1')
if cnt == cmp:
answer = num
break
return answer
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[Level 2] 큰 수 만들기 (0) | 2021.02.27 |
---|---|
[Level 2] 튜플 (0) | 2021.02.26 |
[Level 2] 숫자의 표현 (0) | 2021.02.24 |
[Level 3] N-Queen (0) | 2021.02.24 |
[프로그래머스] K번째 수 - map(), filter(), sort() (0) | 2021.02.23 |