5656번: 비교 연산자백준/문제2024. 3. 20. 11:36
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/5656
언어 : Kotlin
문제 설명 :
C언어의 비교 연산자는 아래 표에 나와있다.
연산자 | 뜻 |
> | 크다 |
>= | 크거나 같다 |
< | 작다 |
<= | 작거나 같다 |
== | 같다 |
!= | 같지 않다 |
이 연산자는 두 피연산자를 비교하고, (왼쪽 값과 오른쪽 값) true또는 false (1 또는 0)을 리턴한다. 예를 들어, 2 > 3은 "false"를 리턴하고 (2는 3보다 작기 때문), 3 != 4는 "true", 3 >= 3은 "true"를 리턴한다.
C언어의 비교 연산식이 주어졌을 때, 결과를 구하는 프로그램을 작성하시오.
입력 :
입력은 최대 12000줄로 이루어져 있다. 각 줄은 두 정수 a, b가 주어지며, 정수 사이에는 연산자 ">", ">=", "<", "<=", "==", "!="중 하나가 주어진다. 연산자와 피연산자 사이에는 공백이 하나 있으며, 연산자로 "E"가 주어진 경우에는 프그램을 끝낸다. (-10000 ≤ a,b ≤ 10000)
출력 :
입력의 각 줄 마다 입력으로 주어진 식의 결과가 "true"인지 "false"인지 출력한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 128MB
입출력 예 :
입력 | 출력 |
3 != 3 4 < 4 4 <= 5 3 E 3 |
Case 1: false Case 2: false Case 3: true |
풀이 :
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
var input: String?
var idx = 0
while (true) {
idx++
input = readLine()
var result = "Case $idx: "
input.split(" ").also {
val a = it[0].toInt()
val c = it[2].toInt()
result += when (it[1]) {
">" -> if (a > c) "true" else "false"
">=" -> if (a >= c) "true" else "false"
"<" -> if (a < c) "true" else "false"
"<=" -> if (a <= c) "true" else "false"
"==" -> if (a == c) "true" else "false"
"!=" -> if (a != c) "true" else "false"
else -> "break"
}
}
if (result.contains("break")) break
bw.appendLine(result)
bw.flush()
}
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
20365번: 블로그2 (0) | 2024.03.20 |
---|---|
2608번: 로마 숫자 (0) | 2024.03.20 |
11179번: 2진수 뒤집기 (2) | 2024.03.19 |
5026번: 박사 과정 (1) | 2024.03.19 |
9243번: 파일 완전 삭제 (0) | 2024.03.19 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!