코테/백준

[백준/JAVA] 2776번: 암기왕

imname1am 2023. 6. 12. 01:16
반응형

🔺 문제

 

2776번: 암기왕

연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며,

www.acmicpc.net

 

 

🔺 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.util.*;
import java.io.*;
 
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
        int T = Integer.parseInt(br.readLine());
        
        while(T --> 0) {
            Set<Integer> set = new HashSet<>();    // Set : 중복 제거
            StringBuilder sb = new StringBuilder();
            
            int n1 = Integer.parseInt(br.readLine());
            StringTokenizer st = new StringTokenizer(br.readLine()," ");
            while(n1 --> 0) {
                set.add(Integer.parseInt(st.nextToken()));
            }
            
            int n2 = Integer.parseInt(br.readLine());
            st = new StringTokenizer(br.readLine()," ");
            while(n2 --> 0) {
                int num = Integer.parseInt(st.nextToken());
                
                if(set.contains(num)) {
                    sb.append(1).append("\n");
                } else {
                    sb.append(0).append("\n");
                }
            }            
            
            System.out.print(sb.toString());
        }    
    }
}
cs
✅ 해결 아이디어
✔ HashSet의 contains 이용
- 시간 복잡도 : O(1)
- HashSet은 중복 제거

 

💥 유의사항

• 시간 복잡도에 유의할 것....

 

 


🔺 다른 풀이들

- 이분 탐색 이용!

 

[백준] 2776번 : 암기왕

2776번: 암기왕 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을

dev-gorany.tistory.com

 


💬 느낀 점

List 만들어서 contains 써봤는데 이 때 시간 복잡도는 O(N)이라구...

 

 

1회독 2회독 3회독 4회독 5회독
V        
반응형