[KAKAO] 오픈채팅방
2022. 3. 30. 15:43ㆍPS/Programmers
[문제 접근법]
- id(key), nickname(value) 인 map을 이용하여 문제를 해결하였다.
https://programmers.co.kr/learn/courses/30/lessons/42888
[구현1]
- Leave 액션을 제외한 나머지 액션들에 대해서 id에 해당하는 nickname을 계속 변경하였음.
public Map<String,String> makeAcation(){
Map<String, String> action=new HashMap<>();
action.put("Enter","님이 들어왔습니다.");
action.put("Leave","님이 나갔습니다.");
return action;
}
public String[] solution(String[] record) {
Map<String, String> idMap=new HashMap<>(); //key: I, value: NICKNAME
Map<String, String> actionMap=makeAcation(); //key: action, value: 액션에 따른 출력물
List<String> list=new ArrayList<>();
for (String s : record) {
String[] rec = s.split(" ");
if(!rec[0].equals("Leave"))
idMap.put(rec[1],rec[2]);
}
for (String s : record) {
String[] rec = s.split(" ");
if(!rec[0].equals("Change"))
list.add(idMap.get(rec[1])+actionMap.get(rec[0]));
}
return list.toArray(new String[list.size()]);
}
반응형
'PS > Programmers' 카테고리의 다른 글
타겟 넘버 (0) | 2022.03.31 |
---|---|
네트워크 (0) | 2022.03.30 |
[Summer/Winter Coding(~2018)] 스킬트리 (0) | 2022.03.29 |
더 맵게 (0) | 2022.03.24 |
[2021 Dev-Matching] 다단계 칫솔 판매 (0) | 2022.03.23 |