1. 문제
https://programmers.co.kr/learn/courses/30/lessons/70129?language=java
코딩테스트 연습 - 이진 변환 반복하기
programmers.co.kr
2. 나의 풀이
class Solution {
public int[] solution(String s) {
int spin_su = 0;
int zero_su = 0;
while(!s.equals("1")) {
String imsi = "";
for(int i = 0; i < s.length(); i = i + 1) {
if(s.charAt(i) == '1') {
imsi += 1;
}else if(s.charAt(i) == '0') {
zero_su ++;
}
}
s = Integer.toBinaryString(imsi.length());
spin_su++;
}
int[] answer = {spin_su, zero_su};
return answer;
}
}
3. 다른 사람 풀이
class Solution {
public static int count;
public static int zeroCount;
public int[] solution(String s) {
int[] answer = new int[2];
count =0;
zeroCount=0;
recursive(s);
answer[0] = count;
answer[1] = zeroCount;
return answer;
}
public static void recursive(String s){
if(s.equals("1"))
return;
count++;
StringBuilder sb = new StringBuilder();
for(char c : s.toCharArray()){
if(c=='0'){
zeroCount++;
continue;
}
sb.append(c);
}
recursive(Integer.toBinaryString(sb.length()));
}
}
'알고리즘 공부 > 프로그래머스' 카테고리의 다른 글
(Java)프로그래머스 코딩테스트 연습 - 연습문제 - 최솟값 만들기 (0) | 2020.11.23 |
---|---|
(Java)프로그래머스 코딩테스트 연습 - 연습문제 - 최댓값과 최솟값 (0) | 2020.11.22 |
(Java)프로그래머스 코딩테스트 연습 - 연습문제 - 숫자의 표현 (0) | 2020.11.22 |
(Java)프로그래머스 코딩테스트 연습 - 찾아라 프로그래밍 마에스터 - 폰켓몬 (0) | 2020.11.22 |
(Java)프로그래머스 코딩테스트 연습 - 연습문제 - 땅따먹기 (0) | 2020.11.20 |