최대 1 분 소요

백준 수 찾기

  • 문제 https://www.acmicpc.net/problem/1920

  • hashset 이용한 문제
  • hashtable은 나중에
import java.util.HashSet;  
import java.util.Scanner;  
import java.util.Set;  
  
public class Hash_P {  
    public static void main(String[] args) {  
        // input  
        Scanner scanner = new Scanner(System.in);  
  
        int N = scanner.nextInt();  
        Set<Integer> A = new HashSet<>();  
        for (int i = 0; i < N; i++){  
            int n = scanner.nextInt();  
            A.add(n);  
        }  
  
        StringBuilder result = new StringBuilder();  
  
        int M = scanner.nextInt();  
        for(int i = 0; i < M; i++){  
            int m = scanner.nextInt();  
  
            if (A.contains(m)){  
                result.append(1 + "\n");  
            } else {  
                result.append(0 + "\n");  
            }  
  
        }  
        System.out.println(result.toString());  
    }  
}
  • Set 이라는 자료구조는 키와 벨류를 저장하지만 중복된 데이터는 저장하지 않는다.
  • 1,2,3,3,3 이 들어올경우 뒤에 33은 무시 (정확히는 맨 뒤에 있는 3으로 저장)

댓글남기기