📍 문제 설명
https://programmers.co.kr/learn/courses/30/lessons/42888
코딩테스트 연습 - 오픈채팅방
오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오
programmers.co.kr
💡 접근
Hashmap을 이용해서 들어오거나 닉네임 변경시 map에 기록해주고 출력해주면 되는 문제
👩💻 코드
import java.util.ArrayList;
import java.util.HashMap;
class Solution {
public String[] solution(String[] record) {
String[] answer = {};
ArrayList<String> list = new ArrayList<>();
HashMap<String, String> map = new HashMap<>();
for(int i = 0; i < record.length; i++) {
String[] s = record[i].split(" ");
if(s[0].equals("Enter") || s[0].equals("Change")) {
map.put(s[1], s[2]);
}
}
//채팅방에 들어오고 나가거나 닉네임 변경하는 거 확인
for(int i = 0; i < record.length; i++) {
String[] s1 = record[i].split(" ");
if(s1[0].equals("Enter")) list.add(map.get(s1[1]) + "님이 들어왔습니다.");
if(s1[0].equals("Leave")) list.add(map.get(s1[1]) + "님이 나갔습니다.");
}
answer = new String[list.size()];
for(int i = 0; i < list.size(); i++) {
answer[i] = list.get(i);
}
return answer;
}
public static void main(String[] args) {
Solution s = new Solution();
String[] record = new String[]{"Enter uid1234 Muzi", "Enter uid4567 Prodo","Leave uid1234","Enter uid1234 Prodo","Change uid4567 Ryan"};
s.solution(record);
}
}
'Algorithm > programmers' 카테고리의 다른 글
[2017 카카오코드]단체사진 찍기 (0) | 2022.02.23 |
---|---|
[2017 카카오코드]카카오프렌즈 컬러링북 (0) | 2022.02.23 |
[2022 카카오 블라인드]신고 결과 받기 (0) | 2022.02.22 |
[2021 카카오 블라인드]신규 아이디 추천 (0) | 2022.02.22 |
[2020 카카오 인턴십]키패드 누르기 (0) | 2021.12.05 |