알고리즘 문제 풀이: 파이썬/Programmers

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

hueco 2021. 6. 27.

 

문제 링크: https://programmers.co.kr/learn/courses/30/lessons/12911

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

내 풀이:

 

참고용 풀이:

 

Review:

 구현의 아이디어는 어렵지 않았다. 다른 사람의 풀이를 참고하다가 bin()이라는 파이썬의 내장 함수를 알게되었다. 해당 함수는 인수로 전달된 값을 이진수로 변환한 문자열을 리턴하는 함수이다.

참고용 풀이에서는 bin()을 사용해서 10진수를 2진수의 문자열로 변환하고, count() 함수를 사용해서 문자열 1의 개수를 카운팅하고 입력 n을 1씩 증가시키면서 같은 방법으로 구한 1의 개수가 같을 때 해당 수를 리턴하는 방식으로 풀이했다.

 

Idea:

 입력 값으로 주어진 자연수 n을 2로 나눈 몫이 0이 될 때까지 나눗셈을 반복하며 나머지가 1이 될때의 개수를 카운트한다.n에 1씩 값을 높여가며 위의 방법대로 나눗셈을 반복하며 나머지 1의 개수를 카운트한다. 나머지 1의 개수가 일치할 때의 값을 결과값으로 리턴한다.

 
 

댓글