def solution(n):
def changeBinary(n):
arr = []
x = n
while x >= 1:
arr.append(x%2)
x //= 2
return arr
for i in range(n+1, 1000001):
if changeBinary(i).count(1) == changeBinary(n).count(1):
return i
answer = 0
return answer
10진법을 2진법으로 변환하는 함수를 작성하고 입력받은 값보다 큰 수 부터 순회하는 for문을 통해 해당 숫자를 2진법으로 변환 후 1의 개수를 비교한다.
'Programmers' 카테고리의 다른 글
[프로그래머스 / 파이썬 풀이] 짝지어 제거하기 (0) | 2023.02.13 |
---|---|
[프로그래머스 / 파이썬 풀이] 구명보트 (0) | 2023.02.13 |
[프로그래머스 / 파이썬 풀이] 피보나치 수 (0) | 2023.02.10 |
[프로그래머스 / 파이썬 풀이] 숫자의 표현 (0) | 2023.02.10 |
[프로그래머스 / 파이썬 풀이] 최솟값 만들기 (0) | 2023.02.09 |