코딩테스트 연습 기록

이종길·2022년 1월 12일
0

코딩테스트 연습

목록 보기
46/128

2022.01.12 22일차

백준 1764번 (듣보잡)

문제

김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오.

나의 풀이

  1. 배열 두개 사용
  2. contains 사용해서 N배열에 M의 이름이 있으면 ArrayList에 추가
  3. 사전순(Collections.sort)
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int N = scanner.nextInt();
        int M = scanner.nextInt();


        Set<String> al = new HashSet<>();

        for (int i = 0; i < N; i++) {
            String nName = scanner.next();
            al.add(nName);
        }

        ArrayList<String> answerList = new ArrayList<>();

        for (int x = 0; x < M; x++) {
            String mName = scanner.next();
            if (al.contains(mName)) {
                answerList.add(mName);
            }
        }

        Collections.sort(answerList);

        System.out.println(answerList.size());
        for (String z : answerList) {
            System.out.println(z);
        }
    }
}

생각하기

  • List는 순서 정보 관리, HashSet은 순서 보장x, contains 사용 시 시간 차이
profile
Go High

0개의 댓글

관련 채용 정보