μ•Œκ³ λ¦¬μ¦˜/λ°±μ€€

[ λ°±μ€€ / BOJ 19816 ] 숫자 μΉ΄λ“œ 2 ( μžλ°” / JAVA )

KIMHYEYUN 2021. 10. 27. 20:44
λ°˜μ‘ν˜•

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

 

10816번: 숫자 μΉ΄λ“œ 2

첫째 쀄에 상근이가 κ°€μ§€κ³  μžˆλŠ” 숫자 μΉ΄λ“œμ˜ 개수 N(1 ≤ N ≤ 500,000)이 μ£Όμ–΄μ§„λ‹€. λ‘˜μ§Έ μ€„μ—λŠ” 숫자 μΉ΄λ“œμ— μ ν˜€μžˆλŠ” μ •μˆ˜κ°€ μ£Όμ–΄μ§„λ‹€. 숫자 μΉ΄λ“œμ— μ ν˜€μžˆλŠ” μˆ˜λŠ” -10,000,000보닀 ν¬κ±°λ‚˜ κ°™κ³ , 10,

www.acmicpc.net

 

문제


숫자 μΉ΄λ“œλŠ” μ •μˆ˜ ν•˜λ‚˜κ°€ μ ν˜€μ Έ μžˆλŠ” μΉ΄λ“œμ΄λ‹€. μƒκ·Όμ΄λŠ” 숫자 μΉ΄λ“œ N개λ₯Ό κ°€μ§€κ³  μžˆλ‹€. μ •μˆ˜ Mκ°œκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 이 μˆ˜κ°€ μ ν˜€μžˆλŠ” 숫자 μΉ΄λ“œλ₯Ό 상근이가 λͺ‡ 개 κ°€μ§€κ³  μžˆλŠ”μ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯


첫째 쀄에 상근이가 κ°€μ§€κ³  μžˆλŠ” 숫자 μΉ΄λ“œμ˜ 개수 N(1 ≤ N ≤ 500,000)이 μ£Όμ–΄μ§„λ‹€. λ‘˜μ§Έ μ€„μ—λŠ” 숫자 μΉ΄λ“œμ— μ ν˜€μžˆλŠ” μ •μˆ˜κ°€ μ£Όμ–΄μ§„λ‹€. 숫자 μΉ΄λ“œμ— μ ν˜€μžˆλŠ” μˆ˜λŠ” -10,000,000보닀 ν¬κ±°λ‚˜ κ°™κ³ , 10,000,000보닀 μž‘κ±°λ‚˜ κ°™λ‹€.

μ…‹μ§Έ μ€„μ—λŠ” M(1 ≤ M ≤ 500,000)이 μ£Όμ–΄μ§„λ‹€. λ„·μ§Έ μ€„μ—λŠ” 상근이가 λͺ‡ 개 κ°€μ§€κ³  μžˆλŠ” 숫자 μΉ΄λ“œμΈμ§€ ꡬ해야 ν•  M개의 μ •μˆ˜κ°€ μ£Όμ–΄μ§€λ©°, 이 μˆ˜λŠ” 곡백으둜 κ΅¬λΆ„λ˜μ–΄μ Έ μžˆλ‹€. 이 μˆ˜λ„ -10,000,000보닀 ν¬κ±°λ‚˜ κ°™κ³ , 10,000,000보닀 μž‘κ±°λ‚˜ κ°™λ‹€.

좜λ ₯


첫째 쀄에 μž…λ ₯으둜 μ£Όμ–΄μ§„ M개의 μˆ˜μ— λŒ€ν•΄μ„œ, 각 μˆ˜κ°€ 적힌 숫자 μΉ΄λ“œλ₯Ό 상근이가 λͺ‡ 개 κ°€μ§€κ³  μžˆλŠ”μ§€λ₯Ό 곡백으둜 ꡬ뢄해 좜λ ₯ν•œλ‹€.

μ½”λ“œ


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;

public class Main_BOJ_10816_μˆ«μžμΉ΄λ“œ2{
    public static void main(String[] args) throws NumberFormatException, IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer stringTokenizer;

        Map<Integer, Integer> cards = new HashMap<>();

        int N = Integer.parseInt(br.readLine());

        stringTokenizer = new StringTokenizer(br.readLine());
        for(int i = 0 ; i < N ; i++){
            int x = Integer.parseInt(stringTokenizer.nextToken());
            cards.put(x, cards.getOrDefault(x, 0) + 1);
        }

        int M = Integer.parseInt(br.readLine());
        stringTokenizer = new StringTokenizer(br.readLine());
        for(int i = 0 ;i < M ; i++){
            int x = Integer.parseInt(stringTokenizer.nextToken());
            if(cards.containsKey(x))
                sb.append(cards.get(x));
            else
                sb.append(0);

            sb.append(" ");
        }

        System.out.println(sb);
    }
}

 

728x90
λ°˜μ‘ν˜•