코테/99클럽

99클럽 코테 스터디 1일차 TIL + Set

imname1am 2025. 1. 14. 00:38
반응형

 

문제

https://www.acmicpc.net/problem/2776

 

 

코드

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
36
37
38
39
40
41
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));
        StringTokenizer st;
        StringBuilder sb = new StringBuilder();
        
        int T = Integer.parseInt(br.readLine());
        
        for(int x = 0 ; x < T ; x++) {
            int N = Integer.parseInt(br.readLine());
            Set<Integer> set = new HashSet<>();
            
            st = new StringTokenizer(br.readLine(), " ");
            for(int i = 0 ; i < N ; i++) {
                set.add(Integer.parseInt(st.nextToken()));
            }
            
            int M = Integer.parseInt(br.readLine());
            int[] arr = new int[M];
            
            st = new StringTokenizer(br.readLine(), " ");
            for(int i = 0 ; i < M ; i++) {
                arr[i] = Integer.parseInt(st.nextToken());
            }
            
            for(int i = 0 ; i < M ; i++) {
                if(set.contains(arr[i])) {
                    sb.append("1" + "\n");
                }
                else {
                    sb.append("0" + "\n");
                }
            }
        }
        
        System.out.println(sb.toString());
    }
}
cs

 

오늘의 학습 키워드

: Set을 이용한 원소 탐색

 

공부한 내용 본인의 언어로 정리하기

: 한 집합 내에 원소가 포함되어 있는지 여부를 Set을 이용해 파악했다.

 

오늘의 회고

: Set을 사용하면 더 빠르게 풀 수 있었는데,

수첩1에 입력받을 때 문제 의도를 제대로 파악하지 못 하고 리스트로 받아버렸었다.

 

 - 어떤 문제가 있었고, 나는 어떤 시도를 했는지

: 문제 의도를 바로 캐치하지 못 했다. 수첩1에 원소가 포함되어있는지 파악해야 했다.

 

 

  - 어떻게 해결했는지

: 수첩1에 수첩2의 원소가 포함되어 있는지 여부만 파악하면 되어

집합을 활용하면 되겠다고 생각해서 Set을 활용했다.


  -  무엇을 새롭게 알았는지

: X

 

  - 내일 학습할 것은 무엇인지

: 내일의 문제

반응형