문제 이해하는 데만 한참 걸렸다..
구현 문제인 것 같아서 정말 하라는 대로 했다.
카카오는 거의 구현문제가 많이 나오는 듯 하다.
queue.poll() + queue.peek()
문자열을 사전에 저장import java.util.*;
class Solution {
public int[] solution(String msg) {
Map<String, Integer> dict = new HashMap<>();
Queue<Character> queue = new LinkedList<>();
List<Integer> result = new LinkedList<>();
int count = 1;
for (char alpha = 'A'; alpha <= 'Z'; alpha++) dict.put("" + alpha, count++);
for (int i = 0; i < msg.length(); i++) queue.add(msg.charAt(i));
while (!queue.isEmpty()) {
String w = "" + queue.poll();
while (!queue.isEmpty() && dict.containsKey(w + queue.peek())) {
w += queue.poll();
}
result.add(dict.get(w));
if (!queue.isEmpty()) dict.put(w + queue.peek(), count++);
}
return result.stream().mapToInt(n -> n).toArray();
}
}