algorithm/문제 풀이

백준 1920번 (수 찾기) 자바 Java11

ssoheeh 2021. 1. 2. 00:51

문제 : 수 찾기

시간 제한 : 2 sec

메모리 제한 : 128 MB

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.*;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n,m;
        n = sc.nextInt();
        List<Integer> list1 = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            list1.add(sc.nextInt());
        }
        Collections.sort(list1);
        m = sc.nextInt();
        for (int i = 0; i < m; i++) {
            if(Collections.binarySearch(list1, sc.nextInt())>=0)
                System.out.println(1);
            else
                System.out.println(0);
        }    
    }
}
cs

 

 

시간 초과가 계속 나서 고치고 고친 방식이 이진 탐색

우선 리스트 개수가 늘어날수록 시간 초과

따라서 리스트 개수 최소화

코드 간결화!!!!하자,,,,,,,,