728x90
https://programmers.co.kr/learn/courses/30/lessons/12911
코딩테스트 연습 - 다음 큰 숫자
자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니
programmers.co.kr
def solution(n):
answer = 0
bin_n = bin(n)
count_n = bin_n[2:].count('1')
for i in range(n+1,1000000):
bin_i = bin(i)
count_i = bin_i[2:].count('1')
if count_i == count_n:
return i
bin 함수로 얻은 binary 값은 string이다. 여기서 1의 개수만 count한다.
자연수 n의 최대는 1000000라는 문제 조건에 따라 for문에 써줬지만, 1의 개수가 같은 값이 나오면 바로 return 하기 때문에 신경 안 써줘도 된다.
'Python > CoTe' 카테고리의 다른 글
[programmers] 더 맵게 (0) | 2022.03.10 |
---|---|
[programmers] 땅따먹기 (0) | 2022.03.10 |
[programmers] 배달 (0) | 2022.03.09 |
[programmers] 방문길이 (0) | 2022.03.09 |
[programmers] 게임 맵 최단거리 (0) | 2022.03.09 |