문자열 압축

LJM·2023년 8월 16일
0

programmers

목록 보기
61/92

문자열 압축

짜는데 시간이 오래걸리고 디버깅하는라 엄청 헤맸다

import java.util.*;

class Solution {
    public int solution(String s) {
        
        if(s.length() == 1) return 1;
     
        int sep = 1;
        int min = 1001;
        
        while(sep < (s.length()))
        {
                          
            ArrayList<String> arr = new ArrayList<>();
            StringBuilder sb = new StringBuilder();
            int cnt = 1;
            for(int i = 0; i < s.length(); ++i)
            {
                if(cnt == sep)
                {
                    sb.append(s.charAt(i));
                    arr.add(sb.toString());
                    cnt = 0;
                    sb.setLength(0);
                }
                else
                {
                    sb.append(s.charAt(i));
                }
                cnt++;
            }
            arr.add(sb.toString());
            
            String temp = arr.get(0);
            int idx = 1;
            cnt = 1;
            sb.setLength(0);
            while(idx < arr.size())
            {
                if(temp.equals(arr.get(idx)))
                {
                    cnt++;
                }
                else
                {
                    if(cnt > 1)
                    {
                        sb.append(cnt + temp);    
                    }
                    else
                        sb.append(temp);
                    
                    temp = arr.get(idx);
                    cnt = 1;
                }
                idx++;
            }

            if(cnt > 1)
            {
                sb.append(cnt + temp);    
            }
            else
                sb.append(temp);
            
            min = Math.min(min, sb.length());
           
            sep++;
        }      
        
        int answer = min;
        return answer;
    }
}
profile
게임개발자 백엔드개발자

0개의 댓글