-
[프로그래머스 / Python] 다음 큰 숫자 | 초코더카테고리 없음 2020. 8. 17. 18:28
안녕하세요 ~ 초코더 입니다 !!!
지난 5개월간 정말 열심히 인턴기간을 지내고 왔습니다 ~ 정말 배운점도 많고 뜻깊은 5개월이었고 정신없이 달려오니 하반기 준비기간이 되었네요 ㅜㅜ 인턴 후기? 는 따로 포스팅 해두겠습니다 ! 인턴 끝난 직후에는 보름정도 다시 코딩테스트 손에 익히는 시간을 가졌습니다. 이젠 집중해서 코테, 포폴 등 취업준비를 해보려고 합니다! 다시열심히 블로그 포스팅도 하고 1일1커밋도 해보려구요.. 다들 열심히 해보아요 `~~ 홧팅 !
https://programmers.co.kr/learn/courses/30/lessons/12911
접근법
처음에 굉장히 어렵게 생각했는데 간단한 접근법이 있었습니다 ㅜ
1. n을 bin()함수를 이용해서 2진수로 변환
2. 1의 갯수 확인
3. 10진수 n< x <=1,000,000 사이의 숫자를 하나씩 2진수로 바꿔서 1의 갯수가 같으면 리턴해줍니다.
count(),bin(),oct(),hex() 내장함수 쓰는 것을 생활화 해야겠네요 !! combination, permutation 손에 익히는 것도 꽤걸렸는데!! 내장함수를 사용하면 훨씬 쉽게 풀리니깐요 ~
코드
def solve(n): cnt_1 = str(bin(n)).count('1') for i in range(n+1,1000001): if str(bin(i)).count('1') == cnt_1: return i