Dev-Kyuu
article thumbnail

๋ฌธ์ œ ์„ค๋ช… :

1๊ฐœ ์ด์ƒ ๋‹จ์œ„๋กœ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ ์••์ถ•ํ•˜์—ฌ ํ‘œํ˜„ํ•œ ๋ฌธ์ž์—ด ์ค‘ ๊ฐ€์žฅ ์งง์€ ๊ฒƒ์˜ ๊ธธ์ด๋ฅผ return

 

ํ’€์ด ๋ฐฉ๋ฒ• :

1. 1๋ถ€ํ„ฐ ์ž…๋ ฅ ๋ฌธ์ž์—ด s์˜ ๊ธธ์ด๋งŒํผ ์ž๋ฅผ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ์„ค์ •ํ•˜๋ฉฐ ๋ฐ˜๋ณต
2. ์„ค์ •๋œ ๊ธธ์ด๋งŒํผ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ ๋‚ธ token์˜ ๋ฐฐ์—ด ์ƒ์„ฑ
3. ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•˜์—ฌ token์˜ ๋ฐฐ์—ด์„ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ์••์ถ•
4. 1~3๊ณผ์ •์œผ๋กœ ์••์ถ•๋œ ๋ฌธ์ž์—ด ์ค‘ ๊ฐ€์žฅ ์งง์€ ๊ธธ์ด ๋ฐ˜ํ™˜

 

์†Œ์Šค์ฝ”๋“œ : 

public class test19 {
    public static int solution(String s) {
        int min = s.length();

        for (int i = 1; i <= s.length(); i++) {
            int compressedSize = compression(s, i);
            min = Math.min(min, compressedSize);
        }

        return min;
    }

    private static int compression(String s, int idx) {

        StringBuilder builder = new StringBuilder();

        String before = "";
        int count = 0;

        for (String i : splitString(s, idx)) {
            if (i.equals(before)) {
                count++;
            } else {
                if (count > 0) {
                    count++;
                    builder.append(count + before);
                    count = 0;
                } else {
                    builder.append(before);
                }
                before = i;
            }
        }

        //๋‚จ์€ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ
        if (count > 0){
            builder.append(count + before);
        } else {
            builder.append(before);
        }

        return builder.length();
    }

    private static String[] splitString(String s, int idx) {

        String[] answer = new String[(s.length() / idx) + 1];

        int startIdx = 0;
        int endIdx = idx;


        for (int i = 0; i < answer.length; i++){

            if (endIdx > s.length()){
                endIdx = s.length();
            }

            answer[i] = s.substring(startIdx, endIdx);
            startIdx = endIdx;
            endIdx = endIdx + idx;
        }

        return answer;
    }
    }
profile

Dev-Kyuu

@kyuu_ng

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!