Java 자료구조 Hash (2) 간략히 보기
백준 수 찾기
-
문제 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으로 저장)
댓글남기기