문제 링크
https://programmers.co.kr/learn/courses/30/lessons/42888
문제 풀이
코드
import java.util.*;
class Solution {
    public String[] solution(String[] record) {
        
        Map<String,String>map = new HashMap();
        List<String> arr= new ArrayList();        
        for(int i=0; i<record.length; i++){
            String [] parsedRecord = record[i].split(" ");
            
            switch(parsedRecord[0]){
                    
                case "Enter" :  
                    arr.add(parsedRecord[1]+"님이 들어왔습니다.");
                    map.put(parsedRecord[1],parsedRecord[2]);
                    break;
                case "Leave" :
                    arr.add(parsedRecord[1]+"님이 나갔습니다.");
                    break;
                case "Change" : 
                    map.put(parsedRecord[1],parsedRecord[2]);
                    break;
                    
            }
        }
        
        for(int i=0; i<arr.size(); i++){
            String [] ids = arr.get(i).split("님이");
            String temp = arr.get(i).replace(ids[0],map.get(ids[0]));
            arr.set(i, temp);
        }
        
        
        String[] answer = arr.toArray(new String[arr.size()-1]);
        return answer;
    }
}