반응형
문제
https://programmers.co.kr/learn/courses/30/lessons/42888
풀이
import java.util.ArrayList;
import java.util.HashMap;
class Solution {
private HashMap<String, String> map = new HashMap<>();
public String[] solution(String[] records) {
ArrayList<String> answerList = new ArrayList<>();
String message;
for (String record : records) {
message = process(record);
if (message != null) {
answerList.add(message);
}
}
//set answer
String[] answer = new String[answerList.size()];
int idx = 0;
for (String s : answerList) {
String id = s.substring(0, s.indexOf('님'));
answer[idx] = s.replace(id, map.get(id));
++idx;
}
return answer;
}
private String process(String r) {
String[] temp = r.split(" ");
String status = temp[0];
String id = temp[1];
if (temp.length == 3) {
String name = temp[2];
map.put(id, name);
}
if ("Enter".equals(status))
return id + "님이 들어왔습니다.";
else if ("Leave".equals(status))
return id + "님이 나갔습니다.";
return null;
}
}
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[codeup] 4503 바이러스 (0) | 2021.09.04 |
---|---|
[프로그래머스] 뉴스 클러스터링 (0) | 2021.09.03 |
[프로그래머스] 문자열 압축 (0) | 2021.08.25 |
[프로그래머스] 순위 검색 (0) | 2021.08.09 |
프로그래머스 더 맵게 (0) | 2021.07.21 |
최근댓글