관리 메뉴

개발하는 동그리

백준 알고리즘 [해시] 숫자카드_10815_실버5 본문

알고리즘/해시

백준 알고리즘 [해시] 숫자카드_10815_실버5

개발하는 동그리 2024. 12. 1. 14:13
반응형
문제
백준 알고리즘 [백트래킹] N과 M (2)_문제번호_난이도

 

체감 난이도
실버 5

 

문제 풀이 소감
매우 쉬움

 

코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.StringTokenizer;

/**
 * 숫자 카드는 정수 하나가 적혀져 있고
 * 상근이는 숫자카드 N개를 가지고 있다.
 * 정수 M개가 주어졌을 떄 상근이가 가지고 있는지 아닌지 구하는 프로그램
 */
public class Main {
    static int N,M;
    static HashSet<Integer> HashA = new HashSet<>();
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        N = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine());
        for (int i = 0; i < N; i++) {
            HashA.add(Integer.parseInt(st.nextToken()));
        }

        M = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();
        st = new StringTokenizer(br.readLine());
        for (int i = 0; i < M; i++) {
            boolean contains = HashA.contains(Integer.parseInt(st.nextToken()));
            if (contains) {
                sb.append(1).append(" ");
            } else {
                sb.append(0).append(" ");
            }
        }

        System.out.println(String.valueOf(sb).trim());
    }
}

 

문제 바로가기
https://www.acmicpc.net/problem/10815

 

 

반응형