#문제
https://programmers.co.kr/learn/courses/30/lessons/12911
코딩테스트 연습 - 다음 큰 숫자
자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니
programmers.co.kr
#소스코드
class Solution {
public int solution(int n) {
int oneCnt = getOneCnt(Integer.toBinaryString(n));
int next = n+1;
while(true){
if(getOneCnt(Integer.toBinaryString(next)) == oneCnt) break;
next++;
}
return next;
}
public int getOneCnt(String binaryNum){
int oneCnt = 0;
for(int i = 0; i < binaryNum.length(); i++){
if(binaryNum.charAt(i) == '1') oneCnt++;
}
return oneCnt;
}
}
'💡Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스] 짝지어 제거하기 (Java) (0) | 2021.10.20 |
---|---|
[프로그래머스] 124 나라의 숫자 (Java) (0) | 2021.10.18 |
[프로그래머스] 파일명 정렬 (Java) (0) | 2021.10.18 |
[프로그래머스] 스킬트리 (Java) (0) | 2021.10.18 |
[프로그래머스] 올바른 괄호 (Java) (0) | 2021.10.18 |