반응형
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) {
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
HashMap<Integer,Integer> map = new HashMap<Integer,Integer>();
int arr [] =new int [n];
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i = 0; i<n; i++) {
arr[i]=Integer.parseInt(st.nextToken());
if((map.get(arr[i]))==null) map.put(arr[i],1);
else map.put(arr[i],map.get(arr[i])+1);
}
int m = Integer.parseInt(br.readLine());
StringTokenizer st2 = new StringTokenizer(br.readLine());
StringBuilder sb=new StringBuilder();
for(int i=0;i<m;i++) {
int key=Integer.parseInt(st2.nextToken());
if(map.get(key)==null) {
sb.append(0+" ");
}
else {
sb.append(map.get(key)+" ");
}
}
System.out.println(sb);
}catch(Exception e){
}
}
}
이분탐색 문제지만 hashmap으로 풀었다.
시간 초과 안나려면 BufferedReader와 StringBuilder 둘 다 동원해야하는 문제
공백을 기준으로 입력될때 BufferedReader을 쓰려면 StringTokenizer을 써야 한다는 걸 새로 알았다.
반응형
'개발 관련 공부 > 알고리즘' 카테고리의 다른 글
백준 1302 베스트셀러 (0) | 2021.08.20 |
---|---|
백준 9012 괄호 (0) | 2021.08.19 |
백준 1920 수찾기 (0) | 2021.08.17 |
백준 2178 미로찾기 (0) | 2021.08.16 |
백준 11724 연결 요소의 개수 (0) | 2021.08.13 |
댓글