https://programmers.co.kr/learn/courses/30/lessons/42888
import java.util.*;
class Solution {
public String[] solution(String[] record) {
ArrayList<String> arr = new ArrayList();
HashMap<String, String> map = new HashMap();
for (int i=0; i<record.length; i++) {
String[] temp = record[i].split(" ");
if (temp[0].equals("Enter")) {
arr.add(temp[1] + "님이 들어왔습니다.");
map.put(temp[1], temp[2]);
} else if (temp[0].equals("Change")) {
map.put(temp[1], temp[2]);
} else {
arr.add(temp[1] + "님이 나갔습니다.");
}
}
// userId -> userName으로 변경해야함
String[] answer = new String[arr.size()];
int idx = 0;
// userName은 1부터 8사이 이므로 "님" 앞에붙은 것이 다 userName
for (String ment : arr) {
int endIndex = ment.indexOf("님");
String userId = ment.substring(0, endIndex);
String userName = map.get(userId);
// answer배열에 userName으로 변경한 값 추가
answer[idx++] = ment.replace(userId, userName);
}
return answer;
}
}