Algorithm & Data Structures/Programers
Lv 2. [3차] 압축
Geisha
2024. 6. 30. 23:09
Map의 containsKey를 이용하여 탐색 속도를 최소화 하고자 하였다.
import java.util.*;
class Solution {
public ArrayList<Integer> solution(String msg) {
ArrayList<Integer> answer = new ArrayList<>();
HashMap<String,Integer> dic = new HashMap<>();
for(int i = 0 ; i < 26; i++){
dic.put(String.valueOf((char)('A'+i)),i+1);
}
String a = "";
int dicIndex=27;
for(int i = 0 ; i<msg.length(); i++){
String c = String.valueOf(msg.charAt(i));
if(dic.containsKey(a+c)){
a+=c;
continue;
}
dic.put(a+c,dicIndex++);
answer.add(dic.get(a));
a=c;
}
if (!a.equals("")) {
answer.add(dic.get(a));
}
return answer;
}
}
String
-valueOf(c) : c를 String으로 변환