https://school.programmers.co.kr/learn/courses/30/lessons/42888
풀이 - 나의 생각
User ID 와 닉네임이 있는데
유저가 닉네임을 변경하면
지금까지 나왔던 기록에서
해당 유저의 닉네임이 다 변경해야 됩니다.
그러기 위해서는 2가지만 하면 됩니다.
1. 유저의 닉네임 기록
2. 유저의 최종 닉네임으로 기록 남기기
1. 유저의 닉네임 기록
HashMap을 사용해서
유저별 최종 닉네임을 기록합니다.
2. 유저의 최종 닉네임으로 기록 남기기
User ID로 닉네임을 불러와 기록합니다.
코드
import java.util.*;
class Solution {
public String[] solution(String[] record) {
Map<String, String> nickname = new HashMap<>();
StringBuilder sb = new StringBuilder();
for(String r : record){
String[] op = r.split(" ");
if("Leave".equals(op[0])) continue;
nickname.put(op[1], op[2]);
}
for(String r : record){
String[] op = r.split(" ");
switch (op[0]) {
case "Enter":
sb.append(nickname.get(op[1]) + "님이 들어왔습니다.\n");
break;
case "Leave":
sb.append(nickname.get(op[1]) + "님이 나갔습니다.\n");
break;
}
}
return sb.toString().split("\n");
}
}
728x90
'프로그래머스 > Lv.2' 카테고리의 다른 글
코딩테스트 연습 > 택배상자 - JAVA (0) | 2024.01.21 |
---|---|
코딩테스트 연습 > 롤케이크 자르기 (0) | 2024.01.12 |
Summer/Winter Coding(~2018) > 스킬트리 - JAVA (0) | 2024.01.11 |
코딩테스트 연습 > 땅따먹기 - JAVA (1) | 2024.01.11 |
2019 카카오 개발자 겨울 인턴십 > 튜플 - JAVA (1) | 2024.01.10 |