티스토리 뷰

1. 문제

https://programmers.co.kr/learn/courses/30/lessons/42888

 

코딩테스트 연습 - 오픈채팅방

오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오

programmers.co.kr

 

2. 설명

map 사용해서 풀었다.

map에 닉네임 저장하고 결과 반환

 

3. 코드

import java.util.*;

class Solution {
    public String[] solution(String[] record) {
        String[] answer;
        ArrayList<String> list = new ArrayList<>();
        HashMap<String, String> users = new HashMap<>();
        
        // 닉네임 저장
        for(int i=0; i<record.length; i++) {
            String[] user = record[i].split("\\s");
            if(!user[0].equals("Leave"))
                users.put(user[1], user[2]);
        }
        
        //result
        for(int i=0; i<record.length; i++) {
            String[] s = record[i].split(" ");
            if(s[0].equals("Enter")) {
                list.add(users.get(s[1]) + "님이 들어왔습니다.");
            }
            else if(s[0].equals("Leave")) {
                list.add(users.get(s[1]) + "님이 나갔습니다.");
            }
        }
        answer = list.toArray(new String[list.size()]);
        
        return answer;
    }
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday