728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12911
728x90
메모리: 52.4 MB, 시간: 0.02 ms
사용 알고리즘: 브루트포스 알고리즘, 수학
class Solution {
public int solution(int n) {
int answer = 0;
// n을 2진수로 변환했을 때 1의 개수
int num = 0, tmp = n;
while(tmp > 0) {
if(tmp % 2 == 1) num++;
tmp /= 2;
}
int next = n, count;
while(true) {
count = 0;
tmp = ++next;
while(tmp > 0) {
if(tmp % 2 == 1) count++;
tmp /= 2;
}
if(count == num) {
answer = next;
break;
}
}
return answer;
}
}
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 131529] 카테고리 별 상품 개수 구하기 (mysql) (0) | 2024.03.13 |
---|---|
[프로그래머스, 131535] 조건에 맞는 회원수 구하기 (mysql) (0) | 2024.02.09 |
[프로그래머스, 160585] 혼자서 하는 틱택토 (java) (0) | 2024.02.09 |
[프로그래머스, 258712] 가장 많이 받은 선물 (java) (0) | 2024.02.09 |
[프로그래머스, 59039] 이름이 없는 동물의 아이디 (mysql) (0) | 2024.01.17 |