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

hyewon9913·2024년 6월 16일
0

코딩테스트(python)

목록 보기
26/46

처음 이 문제를 보고 든 생각은 숫자를 2진수로 변환하여 1의 갯수를 구해주는 부분을 따로 함수를 작성하여서 return 값을 통해 비교해주는 형식으로 코드를 작성해주어야 가독성이 좋을 것 같다고 생각했다.

def cnt1(x):
    x = bin(x)
    x = x[2:]
    lx = list(x)
    cnt = lx.count("1")
    return cnt

def solution(n):
    answer = 0
    nn = n+1
    
    while True:
        if cnt1(n) == cnt1(nn):
            answer = nn
            break
        else:
            nn+=1
            
    
    
    return answer

런타임에러를 고려하며 코드를 작성해주어야 할 만큼 복잡한 방식의 풀이가 필요한 문제가 아니기때문에 생각나는 대로 단순 구현 해주면 해결하기 쉬운 문제였던 것 같다.

profile
차근차근 굴러가는 코딩일지

0개의 댓글