[백준] 1920번 : 수 찾기

JIHYUN·2021년 11월 1일
0
post-thumbnail

📌 문제

N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오.

📌 입력

첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -231 보다 크거나 같고 231보다 작다.

📌 출력

M개의 줄에 답을 출력한다. 존재하면 1을, 존재하지 않으면 0을 출력한다.

📌 예제 입력

📌 사용언어 : JAVA

📌 solution

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        int N = scan.nextInt();
        int[] arr1 = new int[N];
        for(int i = 0; i < N; i++){
            arr1[i] = scan.nextInt();
        }
        int M = scan.nextInt();
        int[] arr2 = new int[M];
        for(int i = 0; i < M; i++){
            arr2[i] = scan.nextInt();
        }

        scan.close();
        int result = 0;
        for(int i = 0; i < M; i++){
            for(int j = 0; j < N; j++){
                if(arr2[i] == arr1[j]){
                    result = 1;
                    break;
                }
            }
            System.out.println(result);
            result = 0;
        }
    }
}

😎 풀이

 코드 자체는 어렵지 않았다. N과 배열 arr1, M과 배열arr2를 입력받아서 for문으로 둘을 비교해서 출력해주면 되는 부분이었으니까.
그런데 자꾸 시간초과가 뜨더라

그래서 설마설마 하는 마음으로 if문 안에 result를 1로 바꾼 후에 break로 조건문을 빠져나오게 하니 성공했다.

profile
이것저것 공부중

0개의 댓글