오픈채팅방

nomoreFt·2021년 6월 23일
0

코딩테스트 연습 - 오픈채팅방

  • 오픈채팅방

    import java.util.*;
    class Solution {
        public String[] solution(String[] record) {
           Map<String, String> idmap = new HashMap<String, String>();
           ArrayList<String> arr = new ArrayList<String>();
           for(String str : record){
              String[] line = str.split(" ");
              if(line[0].equals("Enter") || line[0].equals("Change")){
                  idmap.put(line[1],line[2]);
              }
           }
            for(String str : record){
                String[] line = str.split(" ");
                if(line[0].equals("Enter")){
                    arr.add(idmap.get(line[1])+"님이 들어왔습니다.");
                }else if(line[0].equals("Leave")){
                    arr.add(idmap.get(line[1])+"님이 나갔습니다.");
                }
            }
            String[] answer = new String[arr.size()];
            arr.toArray(answer);
            
            return answer;
        }
    }
    • 서술 - HashMap이 같은 key면 내용만 update되는 것을 이용하여 미리 idmap을 만들어놓는다. 이후 각 경우에 따라 생성되는 내용을 리스트에 담아 배열화 시켜주면 끝

    • 기술 : 리스트를 배열로 만드는 toArray(), toArray(T[] a)

      리스트를 배열로 만드는 toArray() - java.util.List 인자로 받는 배열의 크기는 리스트보다 작으면 붙여주고 크면 null로 들어간다.
      double, long 등 다른 primitive 타입은 안된다.

      -List to Array

      		1. Arrays.asList()
      List<String> list = new ArrayList<>(Arrays.asList(arr));
      		2. Collectors.toList()
      String[] arr = { "A", "B", "C" };
      // 배열 -> List로 변환
      List<String> list = Stream.of(arr).collect(Collectors.toList());
profile
디지털 세상에서 살아남기

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN