From b43c24110643df43b4d8dd96298bb50662e5031f Mon Sep 17 00:00:00 2001 From: rl544 <111494264+rl544@users.noreply.github.com> Date: Thu, 29 Dec 2022 07:13:28 +0900 Subject: [PATCH] =?UTF-8?q?uploaded=20at=202022.=2012.=2029.=20=EC=98=A4?= =?UTF-8?q?=EC=A0=84=207:13:28?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- programmers/오픈채팅방/solution.java | 39 ++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 programmers/오픈채팅방/solution.java diff --git a/programmers/오픈채팅방/solution.java b/programmers/오픈채팅방/solution.java new file mode 100644 index 0000000..1d73c68 --- /dev/null +++ b/programmers/오픈채팅방/solution.java @@ -0,0 +1,39 @@ +// [문제 링크]: https://school.programmers.co.kr/learn/courses/30/lessons/42888 + +import java.util.HashMap; +import java.lang.StringBuilder; +import java.util.ArrayList; +class Solution { + public String[] solution(String[] record) { + HashMap hm = new HashMap<>(); + ArrayList al = new ArrayList<>(), al2 = new ArrayList<>(); + StringBuilder sb = new StringBuilder(); + for(String r : record){ + String[] temp = r.split(" "); + String job = temp[0], uid = temp[1], name = "", msg=""; + if(temp.length==3) { + name = temp[2]; + hm.put(uid,name); + } + switch(job){ + case "Enter": + msg = "님이 들어왔습니다."; + break; + case "Leave": + msg = "님이 나갔습니다."; + break; + } + if(!msg.equals("")) { + al.add(uid); + al2.add(msg); + } + } + for(int a = 0; a < al.size(); a++){ + sb.append(hm.get(al.get(a))); + sb.append(al2.get(a)); + al.set(a,sb.toString()); + sb.setLength(0); + } + return al.toArray(String[]::new); + } +} \ No newline at end of file