https://www.acmicpc.net/problem/10816
๐ฏ ๋ฌธ์ ํต์ฌ
- ์ซ์ ์นด๋ ์ต๋ ๊ฐ์ : 500,000๊ฐ
- ์๊ฐ์ ํ : 1์ด
๐ ํ์ด : HashMap
import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
public class Main {
// M๊ฐ์ ์์ ๋ํด์, ๊ฐ ์๊ฐ ์ ํ ์ซ์ ์นด๋๋ฅผ ๋ช ๊ฐ ๊ฐ์ง๊ณ ์๋์ง ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ถ๋ ฅ
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
/* [1] ์ซ์ ์นด๋ ๊ฐ์ N(1 ≤ N ≤ 500,000) */
int N = Integer.parseInt(br.readLine());
Map<Integer, Integer> cardCntMap = new HashMap<>();
/* [2] ์ซ์ ์นด๋์ ์ ํ์๋ ์ ์(-10,000,000 ≤ x ≤ 10,000,000) */
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
int num = Integer.parseInt(st.nextToken());
// ๊ฐ ์ซ์์ ๊ฐ์๋ฅผ ํด์๋งต์ ์ ์ฅโจ
cardCntMap.put(num, cardCntMap.getOrDefault(num, 0) + 1);
}
/* [3] ์ ์ ๊ฐ์ M(1 ≤ M ≤ 500,000) */
int M = Integer.parseInt(br.readLine());
/* [4] ๋ช ๊ฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ์ซ์ ์นด๋์ธ์ง ๊ตฌํด์ผ ํ M๊ฐ์ ์ ์(-10,000,000 ≤ x ≤ 10,000,000) */
StringTokenizer st2 = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
for (int i = 0; i < M; i++) {
int num = Integer.parseInt(st2.nextToken());
// ํด์๋งต์์ ํด๋น ์ซ์๊ฐ ๋ช ๊ฐ ์๋์ง ๋ฐ๋ก ๊ฐ์ ธ์ดโจ
sb.append(cardCntMap.getOrDefault(num, 0)).append(" ");
}
System.out.println(sb);
}
}
'๐ท์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/Java] 10866 ๋ฑ (0) | 2024.10.06 |
---|---|
[๋ฐฑ์ค/Java] 10845 ํ (0) | 2024.10.06 |
[๋ฐฑ์ค/Java] 10773 ์ ๋ก (0) | 2024.10.04 |
[๋ฐฑ์ค/Java] 10828 ์คํ(Stack) (0) | 2024.09.02 |