주어진 M개의 수에 대해서,
각 수를 가지고 있으면 1을 아니면 0을,
공백으로 구분해 출력하시오
두번째 줄에 나오는 값을 잘 저장한 이후
4번째 줄의 숫자가 1개씩 나올 때 마다
저장된 목록에 있는지
확인해봅시다
코드입니다
import java.util.HashSet;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
HashSet<Integer> set1 = new HashSet<>();
int n = scan.nextInt();
for(int i=0;i<n;i++) {
set1.add(scan.nextInt());
}
int m = scan.nextInt();
int[] arr = new int[m];
for(int i=0;i<m;i++) {
arr[i]=scan.nextInt();
}
for(int i=0;i<m;i++) {
if(set1.contains(arr[i])) {
System.out.print(1+" ");
}else {
System.out.print(0+" ");
}
}
}
}
저는 소유한 카드를 저장하기 위해
HashSet을 이용했습니다
집합과 같이 사용할 수 있기 때문에
set1.contains();를 이용해
가지고 있는지 아닌지를 bool값으로 리턴할 수 있습니다
'백준 문제풀기 > JAVA' 카테고리의 다른 글
[백준 10818 JAVA 자바] 최소, 최대 (0) | 2023.08.19 |
---|---|
[백준 10817 JAVA 자바] 세 수 (0) | 2023.08.18 |
[백준 10812 JAVA 자바] 바구니 순서 바꾸기 (0) | 2023.08.17 |
[백준 10811 JAVA 자바] 바구니 뒤집기 (0) | 2023.08.17 |
[백준 10810 JAVA 자바] 공 넣기 (0) | 2023.08.17 |