Algorithm
[카카오 2019] 코딩테스트 - 오픈채팅방
승우승
2019. 1. 3. 17:54
반응형
문제출처
https://www.welcomekakao.com/learn/courses/30/lessons/42888
닉네임은 중복이 가능하므로 Set이 아니라 Map을 사용하였습니다.
1번문제인만큼 난이도는 낮네요!
소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; public class Solution { public String[] solution(String[] record) { Map<String, String> idMap = new HashMap<>(); List<String[]> tmp = new LinkedList<>(); for (String records : record) { String[] keyWord = records.split(" "); if (keyWord[0].equals("Enter")) { idMap.put(keyWord[1], keyWord[2]); tmp.add(keyWord); } else if (keyWord[0].equals("Change")) { idMap.put(keyWord[1], keyWord[2]); } else { tmp.add(keyWord); } } String[] answer = new String[tmp.size()]; int idx = 0; for (String[] keyWords : tmp) { String nickName = idMap.get(keyWords[1]); if (keyWords[0].equals("Enter")) answer[idx++] = nickName + "님이 들어왔습니다."; else answer[idx++] = nickName + "님이 나갔습니다."; } return answer; } } | cs |
반응형