(Java) 프로그래머스 오픈채팅방

2022. 3. 3. 19:22·코딩 테스트

이번 문제는 오랜만에 재밌게 풀었던 문제였다.

처음 생각보다는 조금 시간이 걸렸지만 깔끔한 문제였다.

해시맵은 데이터 저장을 리스트는 로그를 남겨 반환했다.

 

해외에서는 한국처럼 인터넷을 쓸 수 없어서 너무 불편하다... 


최종 코드

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
class Solution {
    public String[] solution(String[] record) {
        // 로그를 저장하기 위한 리스트
        List<String> list = new ArrayList<>();
        // 아이디와 닉네임을 저장하기 위한 해시맵
        HashMap<String,String> hm = new HashMap<>();
        for (int i= 0; i < record.length; i++) {
            String[] temp = record[i].split(" ");
            if (temp[0].equals("Enter")) {
                hm.put(temp[1], temp[2]);
                list.add(temp[1]+"님이 들어왔습니다.");
            }else if(temp[0].equals("Leave")) {
                list.add(temp[1]+"님이 나갔습니다.");
            }else {
                hm.replace(temp[1],temp[2]);
            }
        }
        // 아이디로 저장된 리스트를 닉네임으로 변경
        String[] answer = new String[list.size()];
        for (int i = 0; i < list.size(); i++) {
        int idx = list.get(i).indexOf("님");
            String id = list.get(i).substring(0,idx);
            answer[i] = hm.get(id)+list.get(i).substring(idx);
        }
        return answer;
    }
}

'코딩 테스트' 카테고리의 다른 글

(Java) 프로그래머스 캐시  (0) 2022.04.28
(Java) 프로그래머스 괄호 변환  (0) 2022.03.06
(Java) 프로그래머스 다리를 지나는 트럭  (0) 2022.01.23
(Java) 프로그래머스 소수찾기_L2  (0) 2022.01.23
(Java) 프로그래머스 위장  (0) 2022.01.18
'코딩 테스트' 카테고리의 다른 글
  • (Java) 프로그래머스 캐시
  • (Java) 프로그래머스 괄호 변환
  • (Java) 프로그래머스 다리를 지나는 트럭
  • (Java) 프로그래머스 소수찾기_L2
로승리
로승리
  • 로승리
    Roy's Blog
    로승리
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Issuefy
      • Language
      • Spring
      • Database
      • Network
      • Kubernetes
      • AWS
      • 코드스쿼드
      • 코딩 테스트
      • 생각정리
      • 국비지원
      • 회고
      • 컨퍼런스, 세미나
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
로승리
(Java) 프로그래머스 오픈채팅방
상단으로

티스토리툴바