프로그래머스 오픈채팅방 Java - 2019 카카오 블라인드 채용

문제

오픈 채팅방에서 사용자의 출입 & 닉네임 변경에 대한 기록을 처리하는 문제이다.

명령어는 Enter, Leave, Change / 유저 아이디와 닉네임은 대소문자 구별

접근

풀이

1번

ArrayList<String> list = new ArrayList<>();
HashMap<String, String> hs = new HashMap<>();

for(String temp : record) {
    String [] arr = temp.split(" ");

    if(!arr[0].equals("Leave")) 
        hs.put(arr[1], arr[2]);	
}

for(String temp : record) {
    String [] arr = temp.split(" ");

    if(arr[0].equals("Enter")) {
        list.add(hs.get(arr[1]) + "님이 들어왔습니다.");
    } else if(arr[0].equals("Leave")) {
        list.add(hs.get(arr[1]) + "님이 나갔습니다.");
    }
}


String [] answer = new String[list.size()];

for(int i=0 ; i<list.size() ; i++)
    answer[i] = list.get(i);

이 문제에서 HashMap<String, String> 에 대한 이해도, 문자열 처리 방법(split - 자르기)에 대한 활용을 학습할 수 있다.

결론



Related Posts