PROGRAMMERS/연습문제
[프로그래머스] [JAVA] [Level 2] [연습문제] 이진 변환 반복하기
c0mmedes
2022. 9. 9. 15:52


import java.util.*;
class Solution {
public int[] solution(String s) {
int zeroCount=0; // 0의 개수를 세어 줄 카운트
int count=0; // 몇 회차 인지 세어 줄 카운트
int lengt = 0; // s의 길이
while(true){
// 문자열에서 0 카운트해주기
for(int i=0; i<s.length(); i++){
if(s.charAt(i)=='0') zeroCount++;
}
// 문자열에서 0 제거
s = s.replace("0","");
lengt = s.length();
// s의 길이를 2진법으로 바꿔주기
s = Integer.toBinaryString(lengt);
// 회차를 세어주기 위한 카운트++
count++;
// s가 1이면 종료
if(s.equals("1")) break;
}
int[] answer = {count, zeroCount};
return answer;
}
}
- Integer.parseInt(i, N) // N진법 -> 10진법
- Integer.toBinaryString(number) // 10진법 -> 2진법
- Integer.toOctalString(number) // 10진법 -> 8진법
- Integer.toHexString(number) // 10진법 ->16진법