CS/알고리즘_KAKAO BLIND RECRUITMENT

2019 KAKAO BLIND RECRUITMENT: 오픈채팅방

Jedy_Kim 2021. 10. 1. 11:13
728x90

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

 

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

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

programmers.co.kr

// 자바

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
import java.util.*;
import java.util.Map.*;
 
class Solution {
    
    public int makeUid(String[] record, Map<StringString> map) {
        int cnt = 0;        
        for(String str : record) {
            String[] temp = str.split(" ");
            if(temp[0].equals("Enter"|| temp[0].equals("Change")) { 
                map.put(temp[1], temp[2]); 
            }   
            if(!temp[0].equals("Change")) cnt++;
        }
        return cnt;
    }
    
    public String[] solution(String[] record) {
        Map<StringString> map = new HashMap<>(); 
        
        int size = makeUid(record, map); 
        String[] answer = new String[size];
        int cursor = 0;
        
        for(String str : record) {
            String[] temp = str.split(" ");
            String name = map.get(temp[1]);
            if(temp[0].equals("Enter")) {
                answer[cursor++= name + "님이 들어왔습니다.";
            } else if(temp[0].equals("Leave")) {
                answer[cursor++= name + "님이 나갔습니다.";
            }                  
        }
        
        return answer;
    }
}
cs

 

반응형