백준 10816 - 숫자 카드 2
Updated:
Java
10816 번 - 숫자 카드 2
문제
접근 방법
HashMap을 사용하여 해결하였다. getOrDefault() 을 사용하여 카드 개수를 세었다.
getOrDefault(put) : 찾는 키가 존재한다면 찾는 키의 값을 반환하고, 없다면 기본 값을 반환
코드
import java.io.*;
import java.util.*;
public class Main {
static int n, m;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
n = stoi(br.readLine());
StringTokenizer stk = new StringTokenizer(br.readLine());
int num;
HashSet<Integer> set = new HashSet<>();
HashMap<Integer, Integer> map = new HashMap<>();
while(stk.hasMoreTokens()) {
num = stoi(stk.nextToken());
map.put(num, map.getOrDefault(num, 0) + 1);
}
m = stoi(br.readLine());
StringBuilder sb = new StringBuilder();
stk = new StringTokenizer(br.readLine());
while(stk.hasMoreTokens()) {
num = stoi(stk.nextToken());
sb.append(map.getOrDefault(num, 0)).append(" ");
}
System.out.println(sb.toString());
return ;
}
static int stoi(String s){
return Integer.parseInt(s);
}
}