#문제
https://programmers.co.kr/learn/courses/30/lessons/70129
#풀이
문자열의 초기 length 를 구한 후 0을 제거한 length 와 비교하여 zero count를 구하여 더해준다.
0을 지운 후의 문자열 length의 길이로 Integer.toBinaryString() 함수를 호출하여 이진수 String을 다시 변수에 할당한다.
이후 변환 횟수를 증가시킨다.
#소스코드
import java.util.*;
class Solution {
public int[] solution(String s) {
int zeroCnt = 0, transCnt = 0, bfLen = 0, afLen = 0;
while(!s.equals("1")) {
bfLen = s.length();
s = s.replace("0", "");
afLen = s.length();
zeroCnt += bfLen - afLen;
s = Integer.toBinaryString(afLen);
transCnt++;
}
return new int[]{transCnt, zeroCnt};
}
}
'💡Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스] 오픈채팅방 (Java) (0) | 2021.10.22 |
---|---|
[프로그래머스] 예상 대진표 (Java) (0) | 2021.10.21 |
[프로그래머스] H-Index (Java) (0) | 2021.10.21 |
[프로그래머스] 행렬의 곱셈 (Java) (0) | 2021.10.20 |
[프로그래머스] 괄호 회전하기 (Java) (0) | 2021.10.20 |