프로그래머스(Python) 풀이/Level.2

프로그래머스(Python) 12911번 다음 큰 숫자 풀이

개발윗미 2022. 5. 6. 15:00

Python으로 구현한 12911번 다음 큰 숫자 문제 풀이입니다.

 

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

 

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

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

programmers.co.kr


def solution(n) :
    temp = n + 1
    while True :
        if str(bin(temp)[2:]).count('1') == str(bin(n)[2:]).count('1') :
            return temp
        temp += 1

 

1. n+1을 temp의 가장 초깃값으로 설정한다.

 

2. 반복문을 수행하며, temp를 2진수로 변환했을 때 1의 개수와 n을 2진수로 변환했을 때 1의 개수가 같다면 temp를 리턴하고, 다를 경우 temp에 1을 증가시킨다.