10816번
문제
- 숫자카드가 N개 있고 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드가 몇 개 있는지 구하는 문제
문제 해결 순서
- 숫자카드에는 -10000000 ~ 10000000의 숫자가 적혀있기 때문에 배열의 길이를 넉넉하게 20000002로 초기화
- N번 반복하며 숫자카드에 적힌 숫자번째의 배열 값을 + 1
- M번 반복하며 입력된 숫자번째의 배열 값을 출력하면 숫자카드의 개수가 출력됨
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int arr[] = new int[20000002];
for (int i = 0; i < n; i++){
int temp = scan.nextInt();
arr[temp + 10000000] += 1;
}
int m = scan.nextInt();
ArrayList answer = new ArrayList();
for (int i = 0; i < m; i++){
int temp = scan.nextInt();
answer.add(Integer.toString(arr[temp + 10000000]));
}
System.out.println(String.join(" ", answer));
}
}