package programmers;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
class Solution {
public String[] solution(String[] record) {
StringTokenizer st;
Map<String, String> user = new HashMap<>();
int cnt = 0;
for (String s : record) {
st = new StringTokenizer(s);
String state = st.nextToken();
String uid = st.nextToken();
String name = null;
if (!state.equals("Leave")) {
name = st.nextToken();
}
if (state.equals("Enter")) {
cnt++;
if (!user.containsKey(uid)) {
} else {
user.remove(uid);
}
user.put(uid, name);
} else if (state.equals("Change")) {
user.put(uid, name);
} else if (state.equals("Leave")) {
cnt++;
}
}
String[] answer = new String[cnt];
int i = 0;
for (String s : record) {
st = new StringTokenizer(s);
String state = st.nextToken();
String uid = st.nextToken();
if (state.equals("Enter")) {
String name = user.get(uid);
answer[i++] = name + "님이 들어왔습니다.";
} else if (state.equals("Leave")) {
String name = user.get(uid);
answer[i++] = name + "님이 나갔습니다.";
} else {
continue;
}
}
return answer;
}
}
간단하게 map으로 uid, name을 받아 최종적으로 맞게 출력
'알고리즘 & 자료구조 > 프로그래머스' 카테고리의 다른 글
크레인 인형뽑기 게임 (0) | 2022.03.30 |
---|---|
숫자 문자열과 영단어 (0) | 2022.03.29 |
문자열 압축 [Java] (0) | 2022.03.12 |
신규 아이디 추천[Java] (0) | 2022.03.09 |
신고 결과 받기 [Java] (0) | 2022.03.08 |