🖇️ 문제 링크
📝 문제 분석
맵에 <아이디, 닉네임> 형태로 저장.
결과 리스트에 일단 닉네임이 아닌 아이디와 들어온건지 나간건지 저장
마지막에 출력할 때, 맵에서 아이디에 맞는 닉네임으로 바꿔주자
⌨️ 코드
import java.util.*;
class Solution {
public String[] solution(String[] record) {
HashMap<String, String> user = new HashMap<>();
Queue<Print> q = new LinkedList<>();
for(String s : record) {
String[] log = s.split(" ");
switch(log[0]) {
case "Enter" -> {
user.put(log[1], log[2]);
q.add(new Print(log[1], 0));
}
case "Leave" -> q.add(new Print(log[1], 1));
case "Change" -> user.put(log[1], log[2]);
}
}
String[] answer = new String[q.size()];
int i = 0;
while(!q.isEmpty()) {
Print cur = q.poll();
answer[i++] = user.get(cur.uid) + (cur.io == 0 ? "님이 들어왔습니다." : "님이 나갔습니다.");
}
return answer;
}
class Print {
String uid;
int io;
Print(String uid, int io) {
this.uid = uid;
this.io = io;
}
}
}
Uploaded by Notion2Tistory v1.1.0