[Programmers] level 2 - 오픈채팅방 (2019 KAKAO BLIND RECRUITMENT)
👩🏻💻 문제
문제가 너어무 길다 요약을 하자면
record 배열에 "행동 유저아이디 닉네임(Leave 일 때는 없음)"으로 구성된 문자열이 있고, 이 record 배열이 함수 파라미터로 들어온다.
리턴해야 하는 result 배열은 1. 다시 들어올 때 바뀐 닉네임 2. Change로 바뀐 닉네임이 반영된 최종 메시지 문자열을 원소로 갖는다.
👩🏻💻 정답 코드
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
Author And Source
이 문제에 관하여([Programmers] level 2 - 오픈채팅방 (2019 KAKAO BLIND RECRUITMENT)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dazzlynn/Programmers-level-2-오픈채팅방-2019-KAKAO-BLIND-RECRUITMENT저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)