본문 바로가기
Algorithm Study/BaekJoon (JAVA)

백준 1764_듣보잡_JAVA

by 창브로 2024. 3. 27.
728x90

https://www.acmicpc.net/problem/1764

 

1764번: 듣보잡

첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.

www.acmicpc.net

import java.util.*;
import java.io.*;

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());

        int N = Integer.parseInt(st.nextToken());
        int M = Integer.parseInt(st.nextToken());
        int count = 0;
        HashSet<String> hashSet = new HashSet<>();
        ArrayList<String> arrayList = new ArrayList<>();

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

        for (int i = 0; i < M; i++) {
            String str = br.readLine();
            if (hashSet.contains(str)) {
                count += 1;
                arrayList.add(str);
            }
        }
        Collections.sort(arrayList);

        System.out.println(count);

        for (String i : arrayList) {
            System.out.println(i);
        }
    }
}

 

회고

- 문제 자체는 쉬웠지만 문자열을 컨트롤 하는 java 문법이 익숙하지 않아서 시간이 좀 걸렸다.

- Array와 다르게 크기 지정을 안해줘도 되는 ArrayList, 중복 허용하지 않지만 순서가 없고 contains를 통해 set안에 특정 value가 있는지 확인할 수 있는 HashSet 외워두자

'Algorithm Study > BaekJoon (JAVA)' 카테고리의 다른 글

백준 2745_진법 변환_JAVA  (0) 2024.03.28
백준 1969_DNA_JAVA  (1) 2024.03.28
백준 1181_단어 정렬_JAVA  (0) 2024.03.26
백준 14888_연산자 끼워넣기_JAVA  (0) 2024.03.25
백준 1929_소수 구하기_JAVA  (1) 2024.03.22