https://programmers.co.kr/learn/courses/30/lessons/70129
/**
1. replaceAll로 0 제거.
2. 길이비교하여 0 제거 개수 체크
3. 남은 길이를 2진법으로 다시 변환
4. 반복하여 1이 남을때까지 체크하여 정답 반환.
**/
class Solution {
public int[] solution(String s) {
int zeroCnt = 0;
int convertCnt = 0;
while(!s.equals("1")){
int length = s.length();
s = s.replaceAll("0","");
int newLength = s.length();
zeroCnt += length - newLength;
s = Integer.toBinaryString(newLength);
convertCnt++;
}
return new int[] {convertCnt, zeroCnt};
}
}
'Algorithm > 프로그래머스풀이' 카테고리의 다른 글
[알고리즘 문제풀이] 프로그래머스 - 가장 큰 정사각형 찾기 / JAVA(자바) (0) | 2022.04.03 |
---|---|
[알고리즘 문제풀이] 프로그래머스 - 쿼드압축 후 개수 세기 / JAVA(자바) (0) | 2022.04.03 |
[알고리즘 문제풀이] 프로그래머스 - 모음사전 / JAVA(자바) (0) | 2022.03.26 |
[알고리즘 문제풀이] 프로그래머스 - 등굣길 / JAVA(자바) (0) | 2022.03.22 |
[알고리즘 문제풀이] 프로그래머스 - 디스크 컨트롤러 / JAVA(자바) (0) | 2022.03.21 |
댓글