728x90
300x250
programmers.co.kr/learn/courses/30/lessons/42888
import java.util.*;
class Solution {
public String[] solution(String[] record) {
HashMap<String,String> map = new HashMap<String,String>();
ArrayList<String> list = new ArrayList<String>();
String[] answer = {};
for(int i =0;i<record.length; i++) {
String[] sp = record[i].split(" ");
switch(sp[0]){
case "Enter": {
map.put(sp[1],sp[2]);
list.add(sp[1]+"님이 들어왔습니다.");
break;
}
case "Leave": {
list.add(sp[1]+"님이 나갔습니다.");
break;
}
case "Change": {
map.put(sp[1],sp[2]);
break;
}
}
}
answer = new String[list.size()];
for(int i = 0 ; i<list.size();i++) {
String msg = list.get(i);
String uid = msg.substring(0,msg.indexOf("님"));
answer[i] = msg.replace(uid, map.get(uid));
// System.out.println(answer[i]);
}
return answer;
}
}
uid가 당연히 7자리일거라고 생각하고.. substring(0.7)을 해서.. 계속 런타임 에러가 났었다ㅠ
- 유저 아이디와 닉네임의 길이는 1 이상 10 이하이다.
문제를 잘 읽자..
for(int i = 0 ; i<list.size();i++) {
String msg = list.get(i);
String uid = list.get(i).substring(0,7);
answer[i] = msg.replace(msg.substring(0,7), map.get(msg.substring(0,7)));
System.out.println(answer[i]);
}
728x90
'알고리즘 > 문자열' 카테고리의 다른 글
프로그래머스[Level2] - [3차] 압축 [문자열][재귀][2018 KAKAO BLIND RECRUITMENT] - Java (0) | 2020.09.12 |
---|---|
프로그래머스[Level2] - 괄호 변환 [문자열][2020 KAKAO BLIND RECRUITMENT] - Java (0) | 2020.09.12 |
프로그래머스[Level2] - 튜플 [문자열][2019 카카오 개발자 겨울 인턴십] - Java (0) | 2020.09.11 |
프로그래머스[Level2] - 문자열 압축 [2020 KAKAO BLIND RECRUITMENT] (0) | 2020.08.29 |
SWEA - 8821. 적고 지우기 (0) | 2020.03.14 |