본문 바로가기
휴지통/알고리즘 & 자료구조

오픈채팅방

by 신재권 2022. 3. 28.
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
백준 2798_1  (0) 2022.03.22
백준 1003  (0) 2022.03.21
백준 14889  (0) 2022.03.13