반응형
출처: programmers.co.kr/learn/courses/30/lessons/42888
코딩테스트 연습 - 오픈채팅방
오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오
programmers.co.kr
풀이과정
유저정보를 담고 있는 자료형태를 만들어서 거기서 아이디 값에 따른 닉네임을 관리하자
그리고 들어오고 나간 내역을 그에 맞게 출력해준다.
풀이코드
import java.util.*;
class Solution {
public String[] solution(String[] record) {
// 1. 나간 후 새로운 닉네임
// 2. 닉네임 변경 : 기존 닉네임도 모두 변경
ArrayList<String> arrList = new ArrayList<>();
HashMap<String, String> userList = new HashMap<>();
for (int i = 0; i < record.length; i++) {
String[] keywords = record[i].split(" "); // 띄어쓰기로 자르기
if (keywords[0].equals("Enter"))
userList.put(keywords[1], keywords[2]);
else if (keywords[0].equals("Change"))
userList.put(keywords[1], keywords[2]);
} // for i
for (int i = 0; i < record.length; i++) {
String[] keywords = record[i].split(" ");
if (keywords[0].equals("Enter"))
arrList.add(userList.get(keywords[1]) + "님이 들어왔습니다.");
else if (keywords[0].equals("Leave"))
arrList.add(userList.get(keywords[1]) + "님이 나갔습니다.");
else
continue;
} // for i
String[] answer = new String[arrList.size()];
for (int i = 0; i < arrList.size(); i++)
answer[i]= arrList.get(i);
return answer;
}
}
memo
생각보다 쉬웠다. 아이디 바꾼 로그내역은 출력하지 않는다. 오랜만에 사전 풀이과정 생각한대로 풀었다.
반응형
'머리맞대는이야기 > 프로그래머스 (JAVA)' 카테고리의 다른 글
| [연습문제] 피보나치 수 (0) | 2020.10.23 |
|---|---|
| [정렬] H-index (0) | 2020.10.21 |
| [2020 KAKAO BLIND RECRUITMENT] 문자열 압축 (0) | 2020.10.19 |
| [2019 카카오 개발자 겨울 인턴십] 크레인 인형뽑기 게임 (0) | 2020.10.18 |
| [Summer/Winter Coding] 스킬트리 (0) | 2020.10.16 |