반응형
프로그래머스
문제: https://school.programmers.co.kr/learn/courses/30/lessons/42888
import java.util.*;
class Solution {
HashMap<String, String> hash = new HashMap<>();
Queue<Message> queue = new LinkedList<>();
public String[] solution(String[] record) {
for(int i=0; i<record.length; i++) {
String[] cmd = record[i].split(" ");
if(cmd[0].equals("Enter")) {
hash.put(cmd[1], cmd[2]);
Message msg = new Message(cmd[1], "들어왔습니다.");
queue.add(msg);
}else if(cmd[0].equals("Change")) {
hash.put(cmd[1], cmd[2]);
}else if(cmd[0].equals("Leave")) {
Message msg = new Message(cmd[1], "나갔습니다.");
queue.add(msg);
}
}
int size = queue.size();
String[] answer = new String[size];
for(int i=0; i<size; i++) {
answer[i] = queue.poll().getMessage();
}
return answer;
}
class Message {
String uid;
String msg;
public Message(String uid, String msg) {
this.uid = uid;
this.msg = msg;
}
public String getMessage() {
return hash.get(uid) + "님이 " + this.msg;
}
}
}
반응형
'알고리즘 > 문제풀이' 카테고리의 다른 글
Word Break (0) | 2022.09.04 |
---|---|
[정렬] 문자열 압축 (0) | 2022.08.07 |
[Heap] 디스크 컨트롤러 (0) | 2022.08.07 |
[이진수] Binary Gap (0) | 2019.04.11 |
[BFS] 아기상어 (두번째) (0) | 2019.04.11 |