[Programmers]level 2-オープンチャットルーム(2019 KAO BLIND RECRUIMENT)
👩🏻💻 質問する
要約すると問題が多すぎる.
record配列には、関数パラメータに入る「動作ユーザIDニックネーム(Leaveでは存在しない)」からなる文字列があります.
返される結果の配列は1です.新しく入った時に変えたニックネーム2ニックネームの変更を反映する最終メッセージ文字列を要素とします.
👩🏻💻 正しいコード
import java.util.*;
class Solution {
public String[] solution(String[] record) {
String[] answer = {};
ArrayList<String[]> list = new ArrayList<>();
HashMap<String, String> map = new HashMap<>();
StringTokenizer st;
for (int i = 0; i < record.length; i++) {
st = new StringTokenizer(record[i]);
String operation = st.nextToken();
String uid = st.nextToken();
if (st.hasMoreTokens()){ //enter, change
String nickname = st.nextToken();
map.put(uid,nickname);
}
if (!operation.equals("Change")) //enter, leave
list.add(new String[]{operation, uid});
}
answer = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
if (list.get(i)[0].equals("Enter")){
answer[i] = map.get(list.get(i)[1])+"님이 들어왔습니다.";
}
else answer[i] = map.get(list.get(i)[1])+"님이 나갔습니다.";
}
return answer;
}
}
👩🏻💻 Remember
JAVA COLLECTION FRAMEWORK
Reference
この問題について([Programmers]level 2-オープンチャットルーム(2019 KAO BLIND RECRUIMENT)), 我々は、より多くの情報をここで見つけました https://velog.io/@dazzlynn/Programmers-level-2-오픈채팅방-2019-KAKAO-BLIND-RECRUITMENTテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol