프로그래머스 레벨2 [정답율 71%]
❓문제
❗문제 정리
사용한 파라미터 :
n(int) : 입력받은 수
next_number(int) : 입력받은 수보다 큰 수를 저장
풀이 방법
n의 다음수의 이진수를 구하여 1의 수가 n의 이진수와같으면 리턴
📑코드
def solution(n):
next_number=n+1
while True:
if format(next_number, 'b').count("1")==format(n,'b').count("1"):
return next_number
next_number+=1
📝코드 설명
format(next_number,'b').count("1)을 이용하여 n 다음 수의 이진수가 가진 1의 수를 구하고 n의 이진수가 가진 1의 수를 구하여 같으면 리턴한다. 같지 않으면 n의 다음수를 1 증가시켜서 다시 구한다.
🎖제출 결과
💡insight