알고리즘/프로그래머스

[프로그래머스]JAVA - Level 2. 오픈채팅방

K.두부 2022. 4. 11. 23:20
반응형
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;
}
}

 

 

반응형