[programmers][X] [3차] 압축

https://school.programmers.co.kr/learn/courses/30/lessons/92335

import java.util.*;

class Solution {
    public int[] solution(String msg) {
        List<Integer> list = new ArrayList<>();
        Map<String,Integer> m = new HashMap<>();
        int len = msg.length();

        for(int i = 65 ; i <= 90; i++) m.put(String.valueOf((char) i), i-64);

        int right;
        int left = 0;
        int cnt = 26;
        for(right = 1 ; right <= msg.length() ; right++) {
            if(!m.containsKey(msg.substring(left,right))){
                list.add(m.get(msg.substring(left,right-1)));
                m.put(msg.substring(left,right),++cnt);
                left = right-1;
            }
        }

        list.add(m.get(msg.substring(left,right-1)));

        return list.stream().mapToInt(i->i).toArray();
    }
}

© 2023 Lee. All rights reserved.