URL : https://www.acmicpc.net/problem/1920
[ RESULT ]
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))
val N = br.readLine().toInt()
val arr = br.readLine().split(" ").map{ it.toInt() }.sorted()
val M = br.readLine().toInt()
val searchNums: List<Int> = br.readLine().split(" ").map{ it.toInt() }
for(i in 0 until M) {
bw.write("${BinarySearch(arr, searchNums[i], 0, arr.size-1)}\n")
}
br.close()
bw.flush()
bw.close()
}
fun BinarySearch(Arr: List<Int>, SearchNum: Int, Start: Int, End: Int): Int {
if (Start > End) {
return 0
}
val mid = (Start + End) / 2
return if (Arr[mid] == SearchNum) {
1
} else if (Arr[mid] > SearchNum) {
BinarySearch(Arr, SearchNum, Start, mid - 1)
} else {
BinarySearch(Arr, SearchNum, mid + 1, End)
}
}
이진 탐색을 구현한 후 수를 찾으면 1, 찾지 못하면 0을 반환하면 되는 문제.
Baekjoon(Kotlin) - 11279. 최대 힙 (0) | 2023.09.18 |
---|---|
Baekjoon(Kotlin) - 1300. K번째 수 (0) | 2023.09.17 |
Baekjoon(Kotlin) - 1931. 회의실 배정 (0) | 2023.09.15 |
Baekjoon(Kotlin) - 14725. 개미굴 (0) | 2023.09.14 |
Baekjoon(Kotlin) - Num. ProblemName (0) | 2023.09.11 |