알고리즘/프로그래머스

이진 변환 반복하기

베리영young 2024. 12. 13. 16:46

사용 알고리즘: 흠..? 문자열..

사용 언어: java

 

import java.util.*;

class Solution {
    int stage, removed0;
    
    public int[] solution(String s) {
        List<List<Character>> ss = new ArrayList<>() ;
        
        while(!s.equals("1")) {
            ss.add(new ArrayList<>());
            int idx = ss.size() - 1;
            
            for(int i=0; i<s.length(); i++) {
                ss.get(idx).add(s.charAt(i));
            }
            for(int i=ss.get(idx).size()-1; i>=0; i--) {
                if(ss.get(idx).get(i) == '0') {
                    removed0++;
                    ss.get(idx).remove(i);
                }
            }
            //110
            int len = ss.get(idx).size();
            s = Integer.toBinaryString(len);
        }
        
        int[] answer = {ss.size(), removed0};
        return answer;
    }
}

 

이거는 어떻게 해야 하는 건지... 더 좋은 풀이법이 있지 않을까 싶은데

'알고리즘 > 프로그래머스' 카테고리의 다른 글

괄호 회전하기  (0) 2024.12.16
신규 아이디 추천  (0) 2024.12.13
정수 삼각형  (0) 2024.12.12
삼각 달팽이  (1) 2024.12.12
소수 찾기  (0) 2024.12.11