https://programmers.co.kr/learn/courses/30/lessons/70129
1. 유형
재귀
2. 시뮬레이션
그냥 요구 조건대로 구현하면 될듯
3. 코드
import java.util.*;
class Solution {
public int[] solution(String s) {
int[] answer = {};
List<Character> list = new ArrayList<>();
int zeroCount=0;
int turnCount=0;
while(!"1".equals(s)){
list.clear();
for(char c : s.toCharArray()){
if(c=='1'){
list.add(c);
}else
zeroCount++;
}
s=rec(list.size());
turnCount++;
}
answer = new int[]{turnCount, zeroCount};
return answer;
}
static String rec(int n){
int mok = n/2;
int na = n%2;
if(mok == 0){
return itos(na);
}
return rec(mok)+itos(na);
}
static String itos(int n){
return String.valueOf(n);
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[devmoon]프로그래머스 - (Java)외벽 점검 (0) | 2021.06.27 |
---|---|
[devmoon]프로그래머스 - n진수 게임 (0) | 2021.06.23 |
[devmoon] 프로그래머스 - (java)점프와 순간 이동 (0) | 2021.06.23 |
[devmoon]프로그래머스 - 방문 길이 (0) | 2021.06.22 |
프로그래머스 - JadenCase 문자열 (0) | 2021.06.22 |