๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”ฅ PS(Problem Solving) ๐Ÿ”ฅ/goorm

[๊ตฌ๋ฆ„LEVEL] ๊ฒฝํ’ˆ ์ถ”์ฒจ

by dar0m! 2020. 3. 23.
๋‚œ์ด๋„ ์ •๋‹ต๋ฅ 
โ˜…โ˜… -%

ํ”„๋ฆฌ๋ฏธ์—„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์œ„ํด๋ฆฌ ๋น„ํƒ€์•Œ๊ณ  ์‹œ์ฆŒ3 20๋…„ 3์›” 2์ฃผ์ฐจ

 

goorm

๊ตฌ๋ฆ„์€ ํด๋ผ์šฐ๋“œ ๊ธฐ์ˆ ์„ ์ด์šฉํ•˜์—ฌ ๋ˆ„๊ตฌ๋‚˜ ์ฝ”๋”ฉ์„ ๋ฐฐ์šฐ๊ณ , ์‹ค๋ ฅ์„ ํ‰๊ฐ€ํ•˜๊ณ , ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ผ์šฐ๋“œ ์†Œํ”„ํŠธ์›จ์–ด ์ƒํƒœ๊ณ„์ž…๋‹ˆ๋‹ค.

www.goorm.io

๋ฌธ์ œ

์‹ ์ž…์ƒ๋“ค์ด ์ œ์ถœํ•œ ์ˆซ์ž๋“ค์„ ๋ชจ์•„ ๋ฌด์ž‘์œ„๋กœ ์—ฌ๋Ÿฌ ์ˆซ์ž๋ฅผ ๋ถˆ๋Ÿฌ๊ฐ€๋ฉฐ ํ•ด๋‹น ๋ฒˆํ˜ธ์— ํ•ด๋‹น๋˜๋Š” ํ•™์ƒ์—๊ฒŒ ์„ ๋ฌผ์„ ์ง€๊ธ‰ํ•ด์•ผํ•œ๋‹ค. ์‹ ์ž…์ƒ๋“ค์ด ์ œ์ถœํ•œ ๋ฒˆํ˜ธ๋“ค๊ณผ ๋ฌด์ž‘์œ„๋กœ ๊ณ ๋ฅธ ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ์ˆซ์ž๋ฅผ ๋ถ€๋ฅผ๋•Œ๋งˆ๋‹ค ์„ ๋ฌผ์„ ๋ฐ›์„ ํ•™์ƒ์ด ๋ช‡ ๋ช…์ธ์ง€ ๊ตฌํ•ด๋ณด์ž.

์‹ ์ž…์ƒ ์ˆ˜ N, ๋ฌด์ž‘์œ„ ์ˆซ์ž๋ฅผ ๋ถ€๋ฅผ ํšŸ์ˆ˜ M

1 ≤ N, M ≤ 1,000,000

 

ํ•ด๊ฒฐ

key point, map์‚ฌ์šฉ. ์‹ ์ž…์ƒ๋“ค์ด ์ ์–ด๋‚ธ ์ˆซ์ž๊ฐ€ key๊ฐ€ ๋˜์–ด value๋ฅผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
  • ์‹ ์ž…์ƒ๋“ค์ด ์ ์–ด๋‚ธ ์ˆซ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›์œผ๋ฉด ํ•ด๋‹น ์ˆซ์ž๋ฅผ key๊ฐ’์œผ๋กœ value๋ฅผ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
  • ๋ฌด์ž‘์œ„ ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น key๊ฐ’์œผ๋กœ ์ ‘๊ทผํ•ด์„œ value๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ฝ”๋“œ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string.h>
#include <map>
#include <algorithm>
using namespace std;
int n, m;
map<intint> arr;
int main() {
    scanf("%d %d"&n, &m);
    for (int i = 0,a; i < n; i++) {
        scanf("%d"&a);
        arr[a]++;
    }
    for (int i = 0, b; i < m; i++) {
        scanf("%d"&b);
        printf("%d ", arr[b]);
    }
    return 0;
}
cs

 

๋Œ“๊ธ€