기억은 짧고 기록은 길다
[프로그래머스/Programmers] 다음 큰 숫자 - Python 본문
Link
코딩테스트 연습 - 다음 큰 숫자
자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니
programmers.co.kr
Solution
def solution(n):
answer = 0
n2 = bin(n)[2:]
count_n = n2.count('1')
while True:
n += 1
t = bin(n)[2:]
count_t = t.count('1')
if count_t == count_n:
return n
🔑 key point: if count_t == count_n: return n
Other Solution
def solution(n):
cnt1 = bin(n).count('1')
for bi in range(n + 1, 1000001):
if bin(bi).count('1') == cnt1:
answer = bi
return answer
🔑 key point: if bin(bi).count('1') == cnt1: answer = bi; return answer
'CodingTest > programmers' 카테고리의 다른 글
[프로그래머스/Programmers] 땅 따먹기 - Python (0) | 2021.09.16 |
---|---|
[프로그래머스/Programmers] 더 맵게 - Python (0) | 2021.09.16 |
[프로그래머스/Programmers] 다리를 지나는 트럭 - Python (0) | 2021.09.14 |
[프로그래머스/Programmers] 기능개발 - Python (0) | 2021.09.14 |
[프로그래머스/Programmers] 구명보트 - Python (0) | 2021.09.13 |
Comments