코딩테스트/Java

(2019카카오) 오픈채팅방 Java

SK_MOUSE 2021. 3. 2. 17:16
Map<Key=아이디, Value=닉네임>

https://programmers.co.kr/learn/courses/30/lessons/42888
오픈채팅방 닉네임

주목해야 될 포인트

 

  • 들어올때(Enter) 닉네임 저장
  • 바꿀때(Change) 닉네임 저장

Map<Key=아이디, Value=닉네임>put해서 업데이트해준다.

 

 

import java.util.*; class Solution { ​​​​public String[] solution(String[] record) { ​​​​​​​​Map<String, String> map = new HashMap<>(); ​​​​​​​​int changeCount =0; ​​​​​​​​for(int i =0; i<record.length; i++){ ​​​​​​​​​​​​String[] s = record[i].split(" "); ​​​​​​​​​​​​//1.Enter인경우 record 3 ​​​​​​​​​​​​if(s[0].equals("Enter")){//HashMap<아이디, 닉네임> 신입 ​​​​​​​​​​​​​​​​map.put(s[1], s[2]); ​​​​​​​​​​​​} ​​​​​​​​​​​​//2.Leave인경우 record 2 ​​​​​​​​​​​​else if(s[0].equals("Leave")){ ​​​​​​​​​​​​} ​​​​​​​​​​​​//3.Change인경우 record 3 ​​​​​​​​​​​​else{ ​​​​​​​​​​​​​​​​changeCount++; ​​​​​​​​​​​​​​​​map.put(s[1], s[2]); ​​​​​​​​​​​​} ​​​​​​​​} ​​​​​​​​String[] answer = new String[record.length-changeCount]; ​​​​​​​​int j=0; ​​​​​​​​for(int i =0; i<record.length; i++){//출력 ​​​​​​​​​​​​String[] s = record[i].split(" "); ​​​​​​​​​​​​//1.Enter인경우 record 3 ​​​​​​​​​​​​if(s[0].equals("Enter")){//HashMap<아이디, 닉네임> 신입 ​​​​​​​​​​​​​​​​answer[j] = map.get(s[1])+"님이 들어왔습니다."; ​​​​​​​​​​​​​​​​j++; ​​​​​​​​​​​​} ​​​​​​​​​​​​//2.Leave인경우 record 2 ​​​​​​​​​​​​else if(s[0].equals("Leave")){ ​​​​​​​​​​​​​​​​answer[j] = map.get(s[1])+"님이 나갔습니다."; ​​​​​​​​​​​​​​​​j++; ​​​​​​​​​​​​} ​​​​​​​​} ​​​​​​​​return answer; ​​​​} }
반응형