[프로그래머스] Python Level2 연습문제 - 다음 큰 숫자

swb·2024년 2월 8일

프로그래머스

목록 보기
21/23

문제 바로가기

접근 방법

  1. 주어진 n을 2진수로 변환하여 1의 개수를 센다.
  2. n에서 1씩 증가하여 1의 개수가 같은 수를 찾는다.

코드

def convert_binary(n):
    answer = []

    while n > 0:
        answer.insert(0, n % 2)
        n //= 2
    return answer

def solution(n):
    answer = 0
    arr_n = convert_binary(n)
    n_cnt = arr_n.count(1)

    next_n = n
    while True:
        next_n += 1
        if convert_binary(next_n).count(1) == n_cnt:
            answer = next_n
            break

    return answer
profile
개발 시작

0개의 댓글