728x90
처음 든 생각
- 하나씩 키워가면서 일일이 탐색을 해야겠다
- 이진수로 바꾸는 것은 저번에 배운 bin 함수를 활용해서 해봐야지
나의 답
def solution(n):
answer = 0
bn = bin(n)
cnt = bn[2:].count("1")
while True:
n+=1
if bin(n)[2:].count("1") == cnt:
return n
주어진 수가 가진 1의 개수를 cnt 변수에 담아놓고 반복문을 통해서 알맞은 수를 찾아가는 과정으로 구현한 것이다.
찾을 때까지 반복문을 돌게 하기 위하여 while True를 사용했고 찾으면 바로 리턴을 하면서 solution 함수를 끝내는 방식으로 구현하였다.
다른 사람들의 풀이도 변수명만 다를 뿐 사용한 함수도 똑같아서 따로 참고해볼 사항은 없었다.
728x90
'스터디 > 코딩테스트' 카테고리의 다른 글
SWEA 4881 - 배열 최소 합 (2) | 2024.01.10 |
---|---|
python 코딩테스트 - 프로그래머스 숫자의 표현 (0) | 2023.12.22 |
python 코딩테스트 - 프로그래머스 이진 변환 반복하기 (0) | 2023.12.04 |
python 코딩테스트 - 프로그래머스 최솟값 만들기 (2) | 2023.12.04 |
python 코딩테스트 - 2022 카카오 인턴 기출 2번 (1) | 2023.11.24 |