문제 링크
문제 해설
단순한 구현 문제지만 메모리 제한이 매우 적다. 주어지는 입력의 수가 1부터 20까지밖에 되지 않으므로 크기가 21인 Byte 배열을 만들어서 구현하였다.(0 : 배열에 없음, 1 : 배열에 있음)
Code
import java.util.StringTokenizer
fun main() = with(System.`in`.bufferedReader()) {
val bw = System.out.bufferedWriter()
val s = ByteArray(21)
var st: StringTokenizer
repeat(readLine().toInt()) {
st = StringTokenizer(readLine())
when (st.nextToken()) {
"add" -> s[st.nextToken().toInt()] = 1
"remove" -> s[st.nextToken().toInt()] = 0
"check" -> bw.write(if (s[st.nextToken().toInt()] == 1.toByte()) "1\n" else "0\n")
"toggle" -> st.nextToken().toInt().let { n -> s[n] = if (s[n] == 1.toByte()) 0 else 1}
"all" -> for (i in s.indices) s[i] = 1
"empty" -> for (i in s.indices) s[i] = 0
}
}
bw.close()
}
'Algorithm > BOJ' 카테고리의 다른 글
[Kotlin] 백준 2563 : 색종이 (0) | 2022.12.07 |
---|---|
[Kotlin] 백준 11286 : 절댓값 힙 (0) | 2022.12.06 |
[Kotlin] 백준 5430 : AC (1) | 2022.12.04 |
[Kotlin] 백준 7662 : 이중 우선순위 큐 (1) | 2022.12.04 |
[Kotlin] 백준 1654 : 랜선 자르기 (0) | 2022.12.03 |
댓글