728x90
문제
풀이
class Solution {
public int[] solution(String s) {
int[] answer = new int[2];
int count=0;
int k=0;
while(!s.equals("1")){ //s가 1이 될때까지 반복
for(int i=0;i<s.length();i++){
if(s.charAt(i)=='0'){ //0이 삭제 될때마다 count증가
count++;
}
}
s=s.replaceAll("0",""); // 0삭제
s=Integer.toBinaryString(s.length()); //2진수로 변환
k++;
}
answer[0]=k;
answer[1]=count;
return answer;
}
}
- Integer.toBinaryString()
더보기
10진수 -> 2진수 변환 메서드
int n=12
N = Integer.toBinaryString(n);
출력결과
1100
- .replaceAll()
더보기
대상문자열을 원하는 문자로 바꿔주는 메서드
문자.replaceAll("대상 문자열", "변환 할 문자");
String s ="hello world";
s = s.replaceAll("hello","hi");
출력결과
hi world
728x90
'프로그래머스 & 백준' 카테고리의 다른 글
[프로그래머스/JAVA] - 피보나치의 (0) | 2023.04.25 |
---|---|
[프로그래머스/JAVA] - 다음 큰 숫자 (0) | 2023.04.25 |
[프로그래머스/JAVA] - 숫자의 표현 (0) | 2023.04.24 |
[프러그래머스/JAVA] - JadenCase 문자열 만들기 (0) | 2023.04.18 |
[프로그래머스/JAVA] - 최댓값과 최솟값 (0) | 2023.04.18 |