본문 바로가기

백준/Hash & Tree

백준 1764 자바

반응형

 

Hashset을 이용해서 풀 수 있는 문제입니다.

< 풀이 과정 >

1. 해쉬셋 생성 후 N번 동안  듣지도 못 한 사람을 입력을 받고 저장합니다.

2. 출력 명단을 생성한 뒤에 M번 보도 못한 사람들을 입력을 받고 그 이름이 Hashset에 있다면 출력 명단에 넣습니다.

3. 사전순(오름차순)으로 출력을 해야하기 때문에 정렬을 한 뒤에 정답을 출력합니다.

 

import java.io.*;
import java.util.*;
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        StringTokenizer st = new StringTokenizer(br.readLine());

        HashSet<String> hashSet = new HashSet<>();

        int N = Integer.parseInt(st.nextToken());
        int M = Integer.parseInt(st.nextToken());

        for (int i = 0; i < N; i++) {
            hashSet.add(br.readLine());
        }

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

        for (int i = 0; i < M; i++) {

            String s = br.readLine();
            if(hashSet.contains(s)) {
                arrayList.add(s);
            }
        }
        Collections.sort(arrayList);

        System.out.println(arrayList.size());
        for (String s : arrayList) {
            System.out.println(s);
        }
    }
}
반응형

'백준 > Hash & Tree' 카테고리의 다른 글

백준 20291 자바  (0) 2022.08.24
백준 10867 자바  (0) 2022.08.23
백준 25192 자바  (0) 2022.08.23
백준 14425 자바  (0) 2022.08.21
백준 1620 자바  (0) 2022.08.20