728x90
300x250
https://www.acmicpc.net/problem/10816
System.out.print()를 사용했더니 시간초과가 났다.
그래서 BufferedWriter로 바꾸었더니 성공~
<Java 코드>
728x90
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//System.setIn(new FileInputStream("Test.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
HashMap<Integer,Integer> map = new HashMap<Integer,Integer>();
st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
int num = Integer.parseInt(st.nextToken());
if(map.containsKey(num))
map.put(num,map.get(num)+1);
else
map.put(num, 1);
}
st= new StringTokenizer(br.readLine());
int M = Integer.parseInt(st.nextToken());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
st= new StringTokenizer(br.readLine());
for (int i = 0; i < M; i++) {
int chk = Integer.parseInt(st.nextToken());
if(map.containsKey(chk)) {
// System.out.print(map.get(chk)+" ");
bw.write(map.get(chk)+" ");
} else {
// System.out.print(0+" ");
bw.write(0+" ");
}
}
bw.write("\n");
bw.flush();
// System.out.println();
}
}
728x90
'알고리즘 > 이분 탐색' 카테고리의 다른 글
백준 1654번: 랜선 자르기 [이분탐색][매개변수탐색]-Java (0) | 2023.09.01 |
---|---|
백준 2805번: 나무 자르기 [이분탐색][매개변수탐색][BinarySearch] -Java (0) | 2023.08.30 |
백준 2470번: 두 용액 [이분 탐색][투 포인터][정렬] -Java (0) | 2023.08.28 |
백준 2295번: 세 수의 합 [이분 탐색][자료구조] - Java (0) | 2023.08.19 |
백준 1920번: 수 찾기 [이분탐색][정렬] - Java (0) | 2023.08.16 |