Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- Mae
- Scienceplots
- python 갯수세기
- PAPER
- mes
- 에러해결
- iNT
- 평가지표
- MAPE
- KAKAO
- 스택
- 프로그래머스
- Alignments
- 논문
- RMES
- Pycaret
- Tire
- 파이썬을파이썬답게
- SMAPE
- Overleaf
- TypeError
- Python
- 카카오
- n_sample
- n_neighbors
- 코테
- 논문작성
- knn
- mMAPE
- 논문editor
Archives
- Today
- Total
EunGyeongKim
[연습문제] 다음 큰 숫자 본문
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제 설명
자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다.
- 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다.
- 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다.
- 조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다.
예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다.
자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요
2. 제한사항
• n은 1,000,000 이하의 자연수 입니다.
3. 입출력 예
n | result |
---|---|
78 | 83 |
15 | 23 |
4. 코드
def solution(n):
n_count = format(n, 'b').count('1')
next_num = n+1
next_count = format(next_num, 'b').count('1')
while n_count != next_count:
next_num += 1
next_count = format(next_num, 'b').count('1')
return next_num
'코딩테스트 > programmers' 카테고리의 다른 글
[2022 kakao] k진수에서 소수 개수 구하기 (0) | 2022.09.16 |
---|---|
[스택/큐] 올바른 괄호 (1) | 2022.09.16 |
[스택/큐] 기능개발 (0) | 2022.09.15 |
[연습문제]숫자의 표현 (1) | 2022.09.14 |
[월간코드]이진 변환 반복하기 (0) | 2022.09.13 |
Comments