#유형 : 문자열
#난이도 : LV2
# 주어진 숫자보다 크면서 이진수 변환시 1의 개수가 같은 최소의 수를 찾는 문제로, 입력받는 숫자 n을 2진수 변환 후 반복문을 통해 숫자를 찾으면 된다.
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
|
import java.util.*;
class Solution {
public int solution(int n) {
int answer = 0;
String st = Integer.toBinaryString(n);
int cnt = 0;
for(int i=0; i<st.length(); i++){
if(st.charAt(i) == '1')
cnt++;
}
for(int i=n+1; i<=10000000; i++)
{
String str = Integer.toBinaryString(i);
int count = 0;
for(int j=0; j<str.length(); j++){
if(str.charAt(j) == '1')
count++;
}
if(count == cnt){
answer = i;
break;
}
}
return answer;
}
}
|
cs |
'프로그래머스' 카테고리의 다른 글
#프로그래머스_[3차] n진수 게임 - Java 자바 (0) | 2022.01.04 |
---|---|
#프로그래머스_올바른 괄호 - Java 자바 (0) | 2022.01.03 |
#프로그래머스_땅따먹기 - Java 자바 (0) | 2021.12.27 |
#프로그래머스_숫자의 표현 - Java 자바 (0) | 2021.12.27 |
#프로그래머스_최솟값 만들기 - Java 자바 (0) | 2021.12.27 |