๋ฌธ์
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/1920
- N๊ฐ์ ์ ์ A[1], A[2], …, A[N]์ด ์ฃผ์ด์ ธ ์์ ๋, ์ด ์์ X๋ผ๋ ์ ์๊ฐ ์กด์ฌํ๋์ง ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
- ์ฒซ์งธ ์ค์ ์์ฐ์ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค.
- ๋ค์ ์ค์๋ N๊ฐ์ ์ ์ A[1], A[2], …, A[N]์ด ์ฃผ์ด์ง๋ค.
- ๋ค์ ์ค์๋ M(1 ≤ M ≤ 100,000)์ด ์ฃผ์ด์ง๋ค.
- ๋ค์ ์ค์๋ M๊ฐ์ ์๋ค์ด ์ฃผ์ด์ง๋๋ฐ, ์ด ์๋ค์ด A์์ ์กด์ฌํ๋์ง ์์๋ด๋ฉด ๋๋ค.
- ๋ชจ๋ ์ ์์ ๋ฒ์๋ -231 ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ 231๋ณด๋ค ์๋ค.
- M๊ฐ์ ์ค์ ๋ต์ ์ถ๋ ฅํ๋ค. ์กด์ฌํ๋ฉด 1์, ์กด์ฌํ์ง ์์ผ๋ฉด 0์ ์ถ๋ ฅํ๋ค.
์์ด๋์ด
- hashmap์ ์ฌ์ฉํ์ฌ key๊ฐ๊ณผ value๊ฐ์ผ๋ก ๊ฐ์ ์ ์ฅํด์ฃผ๋๋ฐ ์ ๋ ฅ ๋ค์ด์ค๋ ๊ฐ์ key๊ฐ์ผ๋ก ๋ฃ์ด์ฃผ๊ณ value๊ฐ์ 1๋ก ๋ฃ์ด์ค๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ฐพ์์ผ๋๋ ์๋ฅผ ์ ๋ ฅ๋ฐ์ผ๋ฉด์ getOrDefault๋ฅผ ์ฌ์ฉํด์ ํด๋น ์๊ฐ hashmap์ key๊ฐ์ผ๋ก ์ ์ฅ๋์ด ์์ผ๋ฉด value๊ฐ์ธ 1์ ์ถ๋ ฅํ๊ณ ์์ผ๋ฉด default๋ก ์ ์ฅ๋์ด ์๋ 0์ ์ถ๋ ฅํ๋๋ก ํ๋ค.
๊ฒช์ ์ํ์ฐฉ์ค
- X
์ฝ๋
import java.io.*;
import java.util.*;
public class BOJ1920 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
// A๊ฐ๋ค์ ์ ์ฅํ hashmap
// key ๊ฐ์ผ๋ก value๋ฅผ ์ฐพ๋ ํ์์ผ๋ก, ๊ฒ์์ ์ ์ฉํ๊ธฐ ๋๋ฌธ
HashMap<Integer, Integer> hash = new HashMap<Integer, Integer>();
StringTokenizer st = new StringTokenizer(br.readLine());
// ์
๋ ฅ๋ฐ์ ๊ฐ๋ค์ hashmap์ key๊ฐ๊ณผ value ๊ฐ์ธ 1์ ์ ์ฅ
for(int i = 0; i < N; i++){
int n = Integer.parseInt(st.nextToken());
hash.put(n, 1);
}
int M = Integer.parseInt(br.readLine());
StringTokenizer st2 = new StringTokenizer(br.readLine());
for(int i = 0; i < M; i++){
// ์ฐพ์ ๊ฐ
int n2 = Integer.parseInt(st2.nextToken());
// getOrDefault๋ hashmap์์ key๊ฐ์ด ์์ ๋, null๊ฐ์ ์ถ๋ ฅํ์ง ์๊ณ
// default๋ก ์ ํด์ง ๊ฐ์ ์ถ๋ ฅํจ
// hashmap์์ ์ฐพ์ ๊ฐ์ด key๊ฐ์ผ๋ก ์๋ค๋ฉด ํด๋น value ๊ฐ์ธ 1์ ์ ์ฅ
// ์๋ค๋ฉด 0์ ์ ์ฅ
sb.append(hash.getOrDefault(n2, 0) + "\n");
}
System.out.println(sb);
}
}
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] BOJ 2839 ์คํ ๋ฐฐ๋ฌ (0) | 2024.07.18 |
---|---|
[Java] BOJ 2164 ์นด๋2 (0) | 2024.07.18 |
[Java] BOJ 1018 ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ (0) | 2024.07.17 |
[Java] BOJ 11866 ์์ธํธ์ค ๋ฌธ์ 0 (0) | 2024.07.17 |
[Java] BOJ 11651 ์ขํ ์ ๋ ฌํ๊ธฐ 2 (0) | 2024.07.16 |