[백준] 10815

ninano05·2026년 3월 11일

HashSet

  • HashSet의 contains() 사용해서 바로 중복 검사
  • HashMap까지 필요 없음 (내부 적으로 순서 처리 됨)
  • LinkedHashMap은 입력 순서 유지 됨
import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        // 상근이 카드 입력
        int n = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");
        HashSet<Integer> set = new HashSet<>();
        for(int i=0; i<n; i++) {
            set.add(Integer.parseInt(st.nextToken()));
        }
        
        // M개의 카드 입력
        int m = Integer.parseInt(br.readLine());
        st = new StringTokenizer(br.readLine(), " ");
        // m개의 카드 검사하기
        for(int i=0;i<m;i++) {
            if(set.contains(Integer.parseInt(st.nextToken()))) {
                bw.write(1+" ");
            } else {
                bw.write(0+ " ");
            }
        }
        
        bw.flush();
        bw.close();
        br.close();
    }
}
  • hashSet을 사용하면 반복문 없이 중복검사 가능
profile
초보 개발자

0개의 댓글