프로그래머스 오픈채팅방 자바

BioBeBE·2022년 8월 3일
0

프로그래머스

목록 보기
37/40

문제풀이

  1. Leave 제외한 id, action을 String을 ArrayList에 저장, Hash에 id:key nickname : value 최신 닉네임 저장
  2. ArrayList에 저장된 id > nickname + action을 answer로 받고 return

코드

import java.util.*;
class Solution {
    public String[] solution(String[] record) {
        ArrayList<String> arr = 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")){
                arr.add(s[1]+"님이 들어왔습니다.");
                map.put(s[1],s[2]);
            }else if(s[0].equals("Change")){
                map.put(s[1],s[2]);
            }else{
                arr.add(s[1]+"님이 나갔습니다.");
            }
        }
        String[] answer = new String[arr.size()];
        for(int i=0;i<arr.size();i++){
            int idx = arr.get(i).indexOf("님");
            String key = arr.get(i).substring(0,idx);
            answer[i]=map.get(key)+arr.get(i).substring(idx);
        }
        return answer;
    }
}
profile
개발자지망생

0개의 댓글