728x90
반응형
📌 문제링크
https://school.programmers.co.kr/learn/courses/30/lessons/12911
📌 문제설명
📌 풀이과정 & 풀이코드
- 10진수를 2진수로 바꾸는 toBinary()를 정의한다.
- n보다 큰 수에 대해 똑같이 2진수를 구하고, "1"의 개수를 셌을 때 같으면 그 수를 바로 리턴하도록 한다.
def solution(n):
bin_n = toBinary(n)
n_cnt = str(bin_n).count("1")
for i in range(n+1, 1000000):
bin_i = toBinary(i)
i_cnt = str(bin_i).count("1")
if n_cnt == i_cnt:
return i
def toBinary(n):
tmp = ""
while n:
tmp +=str(n%2)
n = n // 2
return tmp[::-1]
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Python] 짝지어 제거하기 (1) | 2024.10.27 |
---|---|
[프로그래머스/Python] Lv2. 피보나치 수 (0) | 2024.10.18 |
[프로그래머스/Python] Lv2. 숫자의 표현 (0) | 2024.10.18 |
[프로그래머스/Python] 알고리즘고득점Kit-완전탐색-카펫 (0) | 2024.10.18 |
[프로그래머스/Python] 알고리즘고득점Kit-힙(Heap)-이중우선순위큐 (0) | 2024.10.18 |