https://school.programmers.co.kr/learn/courses/30/lessons/12911
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
처음에 문제를 보고 어,,이진수를 다 해야하나 했느데 파이썬엔 개꿀 내장 함수가 있었으니
bin()함수다.
정답코드
def solution(n):
cnt=bin(n)[2:].count('1')
result=0
for x in range(n+1,1000001):
if bin(x)[2:].count('1')==cnt:
result=x
break
return result
- cnt = bin(n)[2:].count('1'):
- bin(n)은 n을 2진수 문자열로 변환
- 앞에 문자 제거하려고 [2:]부터 시작
- .count('1')을 사용해서 '1'의 문자 개수를 센 후 , cnt에 저장
- for x in range(n+1, 1000001):
- n+1부터 1,000,000까지의 정수를 순차적으로 탐색
- bin(x)[2:].count('1') == cnt 조건으로 x의 2진수 표현에서 1의 개수가 cnt와 같은지 확인
풀면서 고려한 점들이다 !
끄읏~!
'CS&알고리즘 > 프로그래머스' 카테고리의 다른 글
파이썬 코테 함수 정리1 (feat. 프로그래머스) (3) | 2025.02.03 |
---|---|
[프로그래머스 LV.2] 구명보트 python 풀이 (feat.그리디) (1) | 2024.11.20 |
[프로그래머스 LV.2] 점프와 순간이동 (feat.그리디) (0) | 2024.11.20 |
[프로그래머스 LV.2] 카펫(feat.완전탐색) (0) | 2024.11.19 |
[프로그래머스 LV.2] JadenCase바꾸기 (0) | 2024.11.07 |