1. n의 1의 개수를 찾기
2. n을 +1 씩 증가시키면서 n의 1의 개수와 동일한 수를 찾아서 출력
class Solution {
public int solution(int n) {
// n의 1의 개수
int count = getCount(n);
// n을 +1씩 증가시키면서 1의 개수가 같은 수 찾기
while(true){
if(count == getCount(++n)) break;
}
return n;
}
static int getCount(int n){
int count = 0;
while(n > 1){
if(n % 2 == 1) count++;
n = n/2;
}
if(n == 1) count++;
return count;
}
}
'코딩테스트 연습 > programmers' 카테고리의 다른 글
| [프로그래머스] 노선별 평균 역 사이 거리 조회하기 - MYSQL (0) | 2025.10.15 |
|---|---|
| [프로그래머스] 네트워크 BFS, DFS - JAVA (0) | 2025.10.14 |
| [프로그래머스] 코딩테스트 연습 > 2021 KAKAO BLIND RECRUITMENT > 메뉴 리뉴얼 (0) | 2025.10.04 |
| [프로그래머스] 코딩테스트 연습 > 연습 > 문제시저 암호 (0) | 2025.10.03 |
| [programmers] 2021 카카오 채용연계형 인턴십 > 거리두기 확인하기 (0) | 2025.10.02 |