JuSeok

10816번

문제

  • 숫자카드가 N개 있고 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드가 몇 개 있는지 구하는 문제

문제 해결 순서

  1. 숫자카드에는 -10000000 ~ 10000000의 숫자가 적혀있기 때문에 배열의 길이를 넉넉하게 20000002로 초기화
  2. N번 반복하며 숫자카드에 적힌 숫자번째의 배열 값을 + 1
  3. 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));
    }
}

Tags