반응형
import java.util.*;
class Solution {
public String[] solution(String[] record) {
ArrayList<String> List = new ArrayList<>(); // id + 들어왔습니다. 나갔습니다.
Map<String, String> map = new HashMap<>(); // id, name
for (int i=0; i<record.length; i++) {
String[] temp = record[i].split(" ");
switch (temp[0]) {
case "Enter":
map.put(temp[1], temp[2]); // ex) uid1234, Muzi
List.add(temp[1] + "님이 들어왔습니다."); // ex) uid1234님이 들어왔습니다.
break;
case "Leave":
List.add(temp[1] + "님이 나갔습니다.");
break;
case "Change":
map.replace(temp[1], temp[2]); // ex) uid1234, Muzi -> uid1234, Ryan
break;
}
}
String[] answer = new String[List.size()];
for (int i=0; i<List.size(); i++) {
int idx = List.get(i).indexOf("님");
String id = List.get(i).substring(0, idx); // ex) uid1234
answer[i] = map.get(id) + List.get(i).substring(idx);
}
return answer;
}
}
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]JAVA - Level 2. 뉴스 클러스터링 (0) | 2022.06.29 |
---|---|
[프로그래머스]JAVA - Level 2. 문자열 압축 (0) | 2022.04.17 |
[프로그래머스]JAVA - Level 1. 완주하지 못한 선수 (0) | 2022.04.08 |
[프로그래머스]JAVA - Level 1. 비밀지도 (0) | 2022.04.07 |
[프로그래머스]JAVA - Level 1. 키패드 누르기 (0) | 2022.04.06 |