반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42888
![](https://blog.kakaocdn.net/dn/rLUI6/btrLauB4dhV/Fykr2fk5VaL68g4S8kGzG0/img.png)
![](https://blog.kakaocdn.net/dn/dlE5Sm/btrLbvULi6m/0H0J9eeqptKp2r8orYrsJk/img.png)
![](https://blog.kakaocdn.net/dn/b7lqFA/btrK9aYD5Bl/FAkySc6M2Qsna5Zytjv4h0/img.png)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
![](https://blog.kakaocdn.net/dn/rLUI6/btrLauB4dhV/Fykr2fk5VaL68g4S8kGzG0/img.png)
![](https://blog.kakaocdn.net/dn/dlE5Sm/btrLbvULi6m/0H0J9eeqptKp2r8orYrsJk/img.png)
![](https://blog.kakaocdn.net/dn/b7lqFA/btrK9aYD5Bl/FAkySc6M2Qsna5Zytjv4h0/img.png)
import java.util.*;
class Solution {
public String[] solution(String[] record) {
ArrayList<String> List = new ArrayList<>(); // id + 들어왔습니다. 나갔습니다.
Map<String, String> map = new HashMap<>(); // id, name
for (int i=0; i<record.length; i++) {
String[] temp = record[i].split(" ");
switch (temp[0]) {
case "Enter":
map.put(temp[1], temp[2]); // ex) uid1234, Muzi
List.add(temp[1] + "님이 들어왔습니다."); // ex) uid1234님이 들어왔습니다.
break;
case "Leave":
List.add(temp[1] + "님이 나갔습니다.");
break;
case "Change":
map.replace(temp[1], temp[2]); // ex) uid1234, Muzi -> uid1234, Ryan
break;
}
}
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); // ex) uid1234
answer[i] = map.get(id) + List.get(i).substring(idx);
}
return answer;
}
}
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]JAVA - Level 2. 뉴스 클러스터링 (0) | 2022.06.29 |
---|---|
[프로그래머스]JAVA - Level 2. 문자열 압축 (0) | 2022.04.17 |
[프로그래머스]JAVA - Level 1. 완주하지 못한 선수 (0) | 2022.04.08 |
[프로그래머스]JAVA - Level 1. 비밀지도 (0) | 2022.04.07 |
[프로그래머스]JAVA - Level 1. 키패드 누르기 (0) | 2022.04.06 |