๋ฐ์ํ
https://www.acmicpc.net/problem/1920
์ด์ ๋ถํฐ ์ด์ฌํ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์์ผ๊ฒ ๋ค.. ํํ
์ ๋ง ๊ฐ๋จํ ๋ฌธ์ ์ธ๋ฐ, ์๊ฐ ์ด๊ณผ๊ฐ ์๊พธ ๋ ๊ฐ์ง๊ณ ์ฝ์งํ๋ค..
๊ทธ๋ฅ ๋ฐฐ์ด์ ๋ฃ๊ณ ํ๋ํ๋ ๋น๊ตํ๋๋ฐ -> ์๊ฐ ์ด๊ณผ
์ ๋ฐฉ๋ฒ + ๋ฐฐ์ด ์ ๋ ฌ ํ ๋น๊ต -> ์๊ฐ ์ด๊ณผ
๋ฐ์ดํฐ๋ค์ ๋ฐ์ผ๋ก ๋๋ ์ ๋น๊ตํ๋ฉด ์๊ฐ์ด ์ ๋ฐ์ผ๋ก ์ค์ ๊ฒ์ผ๋ก ์์!!
ํต์ฌ ์ฝ๋
for (int i = 0; i < M; i++) {
int a = Integer.parseInt(st.nextToken());
int mid = (arr.length / 2); // ์๊ฐ์ ์ค์ด๊ธฐ ์ํด์ ๋ฒ์๋ฅผ ๋ฐ์ผ๋ก ๋๋๊ธฐ
if (a >= arr[mid]) { // ์ค๊ฐ๊ฐ๊ณผ ๋น๊ตํ์ฌ ์ ๋ฐ๋ง ๋น๊ต ์ํ
for (int j = mid; j < arr.length; j++) {
if (arr[j] == a) {
result[i] = 1; // ๋ง์ฝ ๊ฐ์ด ์๋ค๋ฉด? ๊ฒฐ๊ณผ๋ฐฐ์ด์ 1์ ๋ฃ์ด์ฃผ๊ณ break!
break;
}
}
} else {
for (int j = mid - 1; j >= 0; j--) {
if (arr[j] == a) {
result[i] = 1;
break;
}
}
}
}
์ ๋ฐ์ผ๋ก ๋๋ ์ ๋น๊ตํด์ ๊ฐ์ด ์์ผ๋ฉด, result๋ฐฐ์ด์ 1์ ๋ฃ์ด์ฃผ๋๋ก ํฉ๋๋ค.
๋~!!
์ ์ฒด ์ฝ๋
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int N = Integer.parseInt(bf.readLine());
st = new StringTokenizer(bf.readLine());
int[] arr = new int[N]; // ์
๋ ฅ ๋ฐ์ ๊ฐ์ ๋ฃ๊ธฐ ์ํด ๋ฐฐ์ด ์ ์ธ
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr); // ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ
int M = Integer.parseInt(bf.readLine());
st = new StringTokenizer(bf.readLine());
int[] result = new int[M];
for (int i = 0; i < M; i++) {
int a = Integer.parseInt(st.nextToken());
int mid = (arr.length / 2); // ์๊ฐ์ ์ค์ด๊ธฐ ์ํด์ ๋ฒ์๋ฅผ ๋ฐ์ผ๋ก ๋๋๊ธฐ
if (a >= arr[mid]) { // ์ค๊ฐ๊ฐ๊ณผ ๋น๊ตํ์ฌ ์ ๋ฐ๋ง ๋น๊ต ์ํ
for (int j = mid; j < arr.length; j++) {
if (arr[j] == a) {
result[i] = 1; // ๋ง์ฝ ๊ฐ์ด ์๋ค๋ฉด? ๊ฒฐ๊ณผ๋ฐฐ์ด์ 1์ ๋ฃ์ด์ฃผ๊ณ break!
break;
}
}
} else {
for (int j = mid - 1; j >= 0; j--) {
if (arr[j] == a) {
result[i] = 1;
break;
}
}
}
}
for (int i : result) {
System.out.println(i);
}
}
}
๋ฐ์ํ