티스토리 뷰
title: "수 찾기(1920)"
category: 백준[Class-2]
tags: [C++, JavaScript, 백준]
date: "2021-03-21"
문제 링크
C++
#include <iostream>
#include <vector>
#include <set>
using namespace std;
// 문제 풀이 함수
void solution(){
int n, m;
cin >> n;
set<int> setA;
for(int i=0; i<n; i++){
int a;
cin >> a;
setA.insert(a);
}
cin >> m;
vector<int> nums(m);
for(int i=0; i<m; i++){
int a;
cin >> a;
nums[i] = a;
}
for(int e: nums){
if(setA.find(e) != setA.end()){
// 찾음
cout<<1<<"\n";
}
else{
// 못찾음
cout<<0<<"\n";
}
}
}
bool exists(const char* fileName){
FILE* fp;
if((fp = fopen(fileName, "r"))){
fclose(fp);
return true;
}
return false;
}
int main() {
if(exists("stdin")){
freopen("stdin", "r", stdin);
solution();
fclose(stdin);
}
else{
solution();
}
return 0;
}
JavsScript
const fs = require("fs");
// split 조절
const input = fs.readFileSync("dev/stdin").toString().trim().split("\n");
// 문제 풀이
const n = +input[0];
const m = +input[2];
const arrA = input[1].split(" ").map((v) => +v);
const nums = input[3].split(" ").map((v) => +v);
// 정렬
arrA.sort((a, b) => a - b);
// BST
const bstGo = (tgt) => {
let left = 0;
let right = arrA.length - 1;
while (left <= right) {
const mid = left + right;
const curr = arrA[mid];
if (curr < tgt) {
left = mid + 1;
} else if (curr > tgt) {
right = mid - 1;
} else {
// 찾음
return 1;
break;
}
}
return 0;
};
const print = nums.map((v) => bstGo(v)).join("\n");
// print
console.log(print);
728x90
반응형
'Baekjoon Solutions > Class-2' 카테고리의 다른 글
[백준] 통계학(2108) (0) | 2021.03.22 |
---|---|
[백준] 소수 찾기(1978) (0) | 2021.03.21 |
[백준] 좌표 정렬하기 2(11651) (0) | 2021.03.21 |
[백준] 좌표 정렬하기(11650) (0) | 2021.03.21 |
[백준] 수 정렬하기 3(10989) (0) | 2021.03.21 |
댓글