프로그래머스(Java) - 다음 큰 숫자
문제 링크
문제 풀이
아래 코드를 통해서 정수를 이진수로 표현이 가능한것을 알았다.
String binaryString = Integer.toBinaryString(n);
그렇기에 그 이진수에서 0을 모두 제거하면 1만 남을 것이고 그것의 길이가 1의 개수이다.
binaryString = binaryString.replace("0","");
int one_cnt=binaryString.length();
입력받은 수와 1의 개수가 같은 다음 정수를 찾기위해서 while문을 통해서 구했다.
코드
import java.util.*;
class Solution {
public int solution(int n) {
int answer =n;
String binaryString = Integer.toBinaryString(n);
binaryString = binaryString.replace("0","");
int one_cnt=binaryString.length();
int cnt =0;
while(cnt!=one_cnt){
String binaryS = Integer.toBinaryString(++answer);
binaryS = binaryS.replace("0","");
cnt=binaryS.length();
}
return answer;
}
}
Author And Source
이 문제에 관하여(프로그래머스(Java) - 다음 큰 숫자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@courage331/프로그래머스Java-다음-큰-숫자저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)