Algorithm/프로그래머스

[Python] 프로그래머스 Lv2 - 다음 큰 숫자

떵호 2022. 6. 16. 13:15
728x90

🔗 문제링크

 

코딩테스트 연습 - 다음 큰 숫자

자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니

programmers.co.kr

📂 분류

구현

💡 풀이

Lv1에 있어도 되는 아주 쉬운 구현 문제이다.

 

접근 방식

  • 주어진 n을 2진수로 바꾼뒤 1의 개수를 세아린다.
  • n + 1부터 루프를 돌리고, n의 1의 개수와 같은 수를 찾으면 그 숫자를 반환한다.

💻 코드

def solution(n):
    count = bin(n).count('1')

    i = n + 1
    while True:
        if count == bin(i).count('1'):
            return i
        i += 1


728x90