하루에 한 문제
[프로그래머스] 다음 큰 숫자 -Java 본문
programmers.co.kr/learn/courses/30/lessons/12911
class Solution {
public int solution(int n) {
int num=n;
int oneCnt=0;
String binary=Integer.toBinaryString(num);
for(int i=0; i<binary.length(); i++) {
char ch=binary.charAt(i);
if(ch=='1') oneCnt++;
}
while(true) {
binary=Integer.toBinaryString(++num);
int cnt=0;
for(int i=0; i<binary.length(); i++) {
char ch=binary.charAt(i);
if(ch=='1') cnt++;
}
if(cnt==oneCnt) break;
}
return num;
}
}
소요시간 : 8분
입력받은 n을 toBinaryString을 통해서 이진수로 바꿔줍니다.
그리고 1갯수를 체크해줍니다.
그리고 n을 ++ 하면서 toBinaryString를 통해 이진수로 바꾸고 역시 1이 몇개나오는지 확인해주면 끝입니다!
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 가장 먼 노드 -Java (0) | 2020.12.21 |
---|---|
[프로그래머스] N-Queen -Java (0) | 2020.12.21 |
[프로그래머스] 섬 연결하기 -Java (1) | 2020.12.18 |
[프로그래머스] JadenCase 문자열 만들기 -Java (0) | 2020.12.17 |
[프로그래머스 2017팁스타운]예상 대진표 -Java (0) | 2020.12.17 |
Comments