anott
기록
anott
  • 분류 전체보기
    • 오라클
    • SQL
    • 알고리즘
      • 백준저지
      • 프로그래머스
      • SWEA
    • 개발 관련
    • 프론트엔드
      • TypeScript, Next.js
      • React 공식문서 읽기
hELLO · Designed By 정상우.
anott

기록

백준저지 1764번 듣보잡
알고리즘/백준저지

백준저지 1764번 듣보잡

2021. 8. 7. 23:27

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

 

1764번: 듣보잡

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

www.acmicpc.net

 

제출 날짜: 2021년 8월 7일 토요일

 

 

 

HashSet을 이용해서 풀었다.

듣도 못한 사람을 입력 받고, 보도 못한 사람을 입력 받으면서 해당 사람이 듣도 못한 사람인지 확인했다. 듣도 보도 못한 경우라면 따로 ArrayList에 담았고 이후에 정렬을 했다.

 

 

// 출처: 백준저지 1764번 듣보잡 https://www.acmicpc.net/problem/1764

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.StringTokenizer;
import java.io.IOException;

public class BOJ1764 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");
        int N = Integer.parseInt(st.nextToken()); // 듣도 못한 사람의 수 N
        int M = Integer.parseInt(st.nextToken()); // 보도 못한 사람의 수 M
        HashSet<String> hsN = new HashSet<>(); // 듣도 못한 사람을 저장
        for (int i = 0; i < N; i++) {
            st = new StringTokenizer(br.readLine());
            hsN.add(st.nextToken());
        }
        ArrayList<String> answer = new ArrayList<>(); // 듣도 보도 못한 사람. 답
        for (int i = 0; i < M; i++) {
            st = new StringTokenizer(br.readLine());
            String strM = st.nextToken(); // 보도 못한 사람이 듣도 못한 사람일 경우 답에 저장
            if (hsN.contains(strM)) {
                answer.add(strM);
            }
        }
        Collections.sort(answer); // 사전 순으로 정렬
        bw.write(answer.size() + "\n"); // 듣보잡의 수 출력
        for (int i = 0; i < answer.size(); i++) { // 듣보잡의 명단 출력
            bw.write(answer.get(i) + "\n");
        }
        bw.flush();
        bw.close();
    }
}

 

 

 

 

 

 

저작자표시 비영리 (새창열림)

'알고리즘 > 백준저지' 카테고리의 다른 글

백준저지 2559번 수열  (0) 2021.08.15
백준저지 2605번 줄 세우기  (0) 2021.08.15
백준저지 3040번 백설 공주와 일곱 난쟁이  (0) 2021.08.12
백준저지 2563번 색종이  (0) 2021.08.10
백준저지 1783번 병든 나이트  (0) 2021.08.09
    '알고리즘/백준저지' 카테고리의 다른 글
    • 백준저지 2605번 줄 세우기
    • 백준저지 3040번 백설 공주와 일곱 난쟁이
    • 백준저지 2563번 색종이
    • 백준저지 1783번 병든 나이트
    anott
    anott

    티스토리툴바