728x90
반응형
SMALL
https://programmers.co.kr/learn/courses/30/lessons/42888
코딩테스트 연습 - 오픈채팅방
오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오
programmers.co.kr
import java.util.*;
import java.math.*;
class Solution {
public String[] solution(String[] record) {
ArrayList<String> list = new ArrayList<>();
int len = record.length;
HashMap <String,String> map = new HashMap<String,String>();
String [] recArr = {};
for(int i = 0 ; i<len ; i++) {
recArr= record[i].split(" ");
switch(recArr[0]) {
case "Enter":
list.add(recArr[2]+"@님이 들어왔습니다.@"+recArr[1]);
map.put(recArr[1],recArr[2]);
break;
case "Change":
map.put(recArr[1],recArr[2]);
break;
case "Leave":
list.add(map.get(recArr[1]) +"@님이 나갔습니다.@"+recArr[1]);
break;
default:
break;
}
}
int lsize = list.size();
String [] temp = {};
for(int i = 0; i<lsize; i++) {
temp = list.get(i).split("@");
if(map.containsKey(temp[2])) {
list.set(i,list.get(i).replace(temp[0],map.get(temp[2])));
}
}
String [] answer = new String[list.size()];
String [] tmp2 = {};
for(int i = 0;i<list.size(); i++) {
tmp2= list.get(i).split("@");
answer[i] = tmp2[0]+tmp2[1];
}
return answer;
}
}
반응형
LIST
'IT > CodingTeest' 카테고리의 다른 글
[프로그래머스]카카오프렌즈컬러링북 java (0) | 2022.03.01 |
---|---|
[프로그래머스] 124나라의 숫자-java (0) | 2022.03.01 |
[프로그래머스] 기능개발 (0) | 2022.03.01 |
[프로그래머스]네트워크 java (0) | 2022.03.01 |
[error] Dangling meta character ..near index 0 (0) | 2022.03.01 |