[백준] 1920 - 수 찾기(JavaScript)

zzzzsb·2022년 7월 25일
0

백준/BOJ

목록 보기
3/10

백준 1920번 수 찾기

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

문제

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을 출력한다.

예제 입력 1

5
4 1 5 2 3
5
1 3 7 9 5

예제 출력 1

1
1
0
0
1


풀이/접근 방법(JavaScript)

자바스크립트 맵 객체를 활용해 key: 숫자 - value: true(해당 숫자가 map에 있다는 의미)로 맵을 구성한뒤, for문을 돌며 해당 숫자가 해당 맵에 없으면 0을, 있으면 1을 출력하도록 했다.

코드(JavaScript)

const input = require("fs").readFileSync("/dev/stdin").toString().trim().split("\n");
const [M, A, N, B] = input.map(v => v.split(" ").map(x => Number(x)));

const map = new Map();
const answer = [];
for(let num of A){
    if(!map.has(num)) map.set(num, true);
}

for(let num of B){
    if(!map.has(num)) answer.push("0");
    else answer.push("1");
}

console.log(answer.join("\n"))


profile
성장하는 developer

0개의 댓글