티스토리 뷰

문제풀이

프로그래머스 다음 큰 숫자 (구현) lv2

수박수박좋다 2021. 9. 15. 00:27
반응형

문제출처

생각

input 숫자를 2진수로 변환해서 나온 1의 갯수와

input보다 큰 숫자의 1의갯수랑 같은 숫자를 찾으면 된다.

  • reverse로 안해줘도 됐다.

풀이 코드

# 2진수 변환함수
def dec2bin(n):
    binary = ""
    while(n != 0):
        left = n % 2
        n //= 2
        binary += str(left)
    return binary

def solution(n):
    bin_val = list(dec2bin(n)[::-1])
    comp = n + 1
    n_count = bin_val.count("1")
    while(list(dec2bin(comp)).count("1") != n_count):
        comp += 1

    return comp
반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
농담곰의 고군분투 개발기