Python/CoTe

[programmers] 다음 큰 숫자

joannekim0420 2022. 3. 9. 19:03
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