Search

오픈채팅방

알고리즘
연습문제
플랫폼
프로그래머스
JCF
ArrayList
HashMap
상태
해결
생성 일시
2024/01/17 07:47
최종 편집 일시
2024/01/18 08:38

문제 설명

해결과정

Solution.java

import java.util.*; class Solution { public String[] solution(String[] record) { ArrayList<String> list = new ArrayList<>(); Map<String, String> map = userIdNickName(record); // record 의 원소를 배열로 변경 String[] arr = new String [3]; // for문으로 record 배열 탐색 int index = 0; for(String str : record) { arr = str.split(" "); if(arr[0].equals("Enter")) { list.add(map.get(arr[1]) + "님이 들어왔습니다."); // map.put(arr[1], arr[2]); } else if(arr[0].equals("Leave")) { list.add(map.get(arr[1]) + "님이 나갔습니다."); } else { // map.put(arr[1], arr[2]); } } // result 배열의 길이는 record 배열의 길이와 같다. String[] answer = list.toArray(new String[0]); // System.out.println(list.toString()); // System.out.println(map.toString()); return answer; } public Map<String, String> userIdNickName (String[] record) { String[] arr = {}; Map<String, String> map = new HashMap<>(); for(String str : record) { arr = str.split(" "); if(arr[0].equals("Enter")) { map.put(arr[1], arr[2]); } else if(arr[0].equals("Change")) { map.put(arr[1], arr[2]); } } return map; } // 출입기록 입력 // String accessRecord(String str, String[] arr) { // char c = str.charAt(0); // String record = arr[1]; // switch (c) { // case 'E': // record += "님이 들어왔습니다."; // break; // case 'L': // record += "님이 나갔습니다."; // break; // } // return record; // } // String 배열 출력 void printStringArray(String[] arr) { for(String s : arr) { System.out.print(s + " "); } System.out.println(); } }
Java
복사