자바/백준
[백준 1920] 수 찾기
슈슈버거
2022. 11. 4. 15:44
문제
https://www.acmicpc.net/problem/1920
1920번: 수 찾기
첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들
www.acmicpc.net
내가 작성한 코드
import java.io.*;
import java.util.Arrays;
import java.util.StringTokenizer;
public class qor1920 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int num = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
int[] list = new int[num];
for(int i = 0; i<num; i++){
list[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(list);
int count = Integer.parseInt(br.readLine());
StringTokenizer st2 = new StringTokenizer(br.readLine());
for(int i = 0; i<count; i++){
Integer input = Integer.valueOf(st2.nextToken());
int result = Arrays.binarySearch(list,input);
if(result<0){
bw.write("0");
}
else{
bw.write("1");
}
bw.newLine();
}
bw.close();
}
}
처음엔 멋 모르고 이분탐색을 내가 구현하려고 했다 ㅋㅋㅋㅋ 그랬더니 되긴 되는데 시간 초과 뜨더라
친구가 binarySearch 알려줘서 그 친구 썼다니 세상에 코드 짧아지고 시간 단축!!