BOJ - 10816

아이모·2022년 11월 21일
0

BOJ 길라잡이

목록 보기
5/9

1. 문제

https://www.acmicpc.net/problem/10816

2. 풀이

Array를 쓰기에는 시간초과가 일어날 것 같아 검색에 용이한 HashMap을 사용하였다.

import java.util.*;
import java.io.*;

public class Main10816 {
    public static void main(String [] args){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        StringBuilder sb = new StringBuilder();
        HashMap<Integer, Integer> cards = new HashMap<>();
        for(int i = 0; i < N; i++){
            int num = sc.nextInt();
            cards.put(num, cards.getOrDefault(num, 0)+1);
        }
        int M = sc.nextInt();
        for(int i = 0; i < M; i++){
            int searchNum = sc.nextInt();
            if(cards.containsKey(searchNum)){
                sb.append(cards.get(searchNum)).append(" ");
            }
            else{
                sb.append(0).append(" ");
            }
        }
        sb.delete(sb.length()-1, sb.length());
        System.out.print(sb.toString());
    }
}

3. 적용된 알고리즘

해쉬

profile
데이터로 보는 실력

0개의 댓글