[프로그래머스/파이썬] Level 2 다음 큰 숫자

https://programmers.co.kr/learn/courses/30/lessons/12911


문제풀이

10진수에서 2진수로 바꾸는 방법은 다음과 같다.

value=60
b=bin(value)
print(b) # 0b111100

or

b=format(value, "b")
print(b) # 111100

주어진 숫자 n을 2진수로 변환해 1의 개수를 구해주고 n을 증가시키면서 1의 개수가 동일한 숫자를 찾아주면 된다.

소스코드

def solution(n):
    value=format(n,"b")
    cnt=value.count("1")

    while True:
        n+=1
        value2=format(n,"b")
        cnt2=value2.count("1")
        if cnt==cnt2:
            return n

좋은 웹페이지 즐겨찾기