[백준] 1920 수 찾기 - Java

Yunki Kim·2023년 1월 5일
0

백준

목록 보기
83/104
post-thumbnail

문제


링크


코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        Set<Integer> set = new HashSet<>();

        int N = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine());
        for(int i = 0; i < N; i++) {
            set.add(Integer.parseInt(st.nextToken()));
        }

        int M = Integer.parseInt(br.readLine());
        st = new StringTokenizer(br.readLine());
        StringBuilder sb = new StringBuilder();
        for(int i = 0; i < M; i++) {
            if (set.contains(Integer.parseInt(st.nextToken()))) sb.append(1).append("\n");
            else sb.append(0).append("\n");
        }
        br.close();
        System.out.print(sb);
    }
}

리뷰

자료구조 수업 중 풀게된 문제이다.
Set을 이용해서 contains()를 통해 해당 값이 있는지 반복문을 통해 찾도록 구현하였다.

사실 문제 밑에 알고리즘 분류를 보면 정렬과 이분탐색을 이용하여 푸는 문제인 듯 한데 정렬은 공부를 아직 하지못해서 공부한 뒤 다시한번 풀어봐야겠다.

0개의 댓글