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으로 변환
'Algorithm & Data Structures > Programers' 카테고리의 다른 글
Lv 2. 뒤에있는 큰수 찾기 (0) | 2024.07.02 |
---|---|
Lv 2. 모음사전 (0) | 2024.07.01 |
Lv 2. N진수게임 (0) | 2024.06.28 |
Lv 2. 괄호 회전하기 (0) | 2024.06.26 |
Lv 2. 게임 맵 최단거리 (0) | 2024.06.23 |