링크 →
아영
package Baekjoon.java.silver;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
import java.math.*;
import java.lang.*;
public class boj1920 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = null;
StringBuilder sb = new StringBuilder();
List<BigInteger> arr = new ArrayList<>();
int N = Integer.parseInt(br.readLine());
st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
arr.add(new BigInteger(st.nextToken()));
}
Collections.sort(arr);
int M = Integer.parseInt(br.readLine());
st = new StringTokenizer(br.readLine());
for (int i = 0; i < M; i++) {
BigInteger now = new BigInteger(st.nextToken());
int right = N-1;
int left = 0;
boolean flag = false;
while(left<=right){
int mid = (right+left)/2;
if(now.compareTo(arr.get(mid))==0){
sb.append(1).append("\\n");
flag = true;
break;
}else if(now.compareTo(arr.get(mid))==-1){
right = mid-1;
}else if(now.compareTo(arr.get(mid))==1){
left = mid+1;
}
}
if(!flag) sb.append(0).append("\\n");
}
System.out.println(sb.toString());
}
}
성우
은영
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class baekjoon1920 {
static int N,M;
static int[] card,arr;
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
card = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine()+" ");
for (int i = 0; i < N; i++) {
card[i] = Integer.parseInt(st.nextToken());
}
M = Integer.parseInt(br.readLine());
arr = new int[M];
st = new StringTokenizer(br.readLine()+" ");
for (int i = 0; i < M; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(card);
for (int i = 0; i < M; i++) {
int num = binary(i);
if(num != -1)
System.out.println(1+" ");
else
System.out.println(0+" ");
}
}
private static int binary(int i) {
int start =0;
int end = card.length-1;
int mid;
while(start<=end) {
mid = (start+end)/2;
if(card[mid]<arr[i])
start=mid+1;
else if(card[mid]>arr[i])
end = mid-1;
else
return mid;
}
return -1;
}
}
건
용문
// MARK: - BJ1920 Find Number
class BJ1920 {
private var results: [Int] = []
public func solve() {
readComponents()
writeAnswer()
}
private func readComponents() {
let _ = Int( readLine()! )!
let a: [Int] = (readLine()?.split(separator: " ").map{ Int(String($0))! })!
let _ = readLine()
let b: [Int] = (readLine()?.split(separator: " ").map{ Int(String($0))! })!
calc(a, b)
}
private func calc(_ a: [Int], _ b: [Int]) {
var dict: Set<Int> = Set()
for value in a {
dict.insert(value)
}
for value in b {
if dict.contains(value) {
results.append(1)
} else {
results.append(0)
}
}
}
private func writeAnswer() {
for value in results {
print(value)
}
}
}
BJ1920().solve()