[프로그래머스] Lv. 2 다음 큰 숫자

Jimeaning·2023년 3월 7일
0

코딩테스트

목록 보기
16/143

Python3, 연습문제

문제

제한 사항

입출력 예시

주요 포인트

count 함수를 사용하면 굳이 반복문을 쓰지 않아도 깔끔하게 표현할 수 있다

개수가 필요한 문제라면 count 함수 떠올리기

다음 큰 수를 찾기 위해 반복문을 사용한다

n보다 큰 수여야 하므로 n+1부터 시작하고, 제한 사항에서 n은 1,000,000이하의 자연수라고 했으니 1,000,001 전까지 돌면 된다
반복문 안에서 n이 가진 1의 개수와 bin(i)가 가진 1의 개수가 똑같으면 그 자연수를 출력하고 종료한다.

최종 코드

def solution(n):
    answer = 0
    # n을 이진수로 변환
    bin_num = bin(n)[2:]
    # 1의 개수
    cnt = bin_num.count('1')
    
    for i in range(n+1, 1000001):
        if bin(i).count('1') == cnt:
            answer = i
            break
    return answer
profile
I mean

0개의 댓글