[백준] 카드놀이 (2511)(kotlin)
문제 설명
입력 및 출력
» 입력
입력 파일은 두 개의 줄로 이루어진다. 첫 번째 줄에는 A가 늘어놓은 카드의 숫자들이 빈칸을 사이에 두고 순서대로 주어진다. 두 번째 줄에는 B가 늘어놓은 카드의 숫자들이 빈칸을 사이에 두고 순서대로 주어진다.
» 출력
첫 번째 줄에는 게임이 끝난 후, A와 B가 받은 총 승점을 순서대로 빈칸을 사이에 두고 출력한다. 두 번째 줄에는 이긴 사람이 A인지 B인지 결정해서, 이긴 사람을 문자 A 또는 B로 출력한다. 만약 비기는 경우에는 문자 D를 출력한다.
예제 입출력(테스트케이스)
입력 | 출력 |
---|---|
4 5 6 7 0 1 2 3 9 8 1 2 3 4 5 6 7 8 9 0 |
16 13 A |
문제 풀이1
import java.io.BufferedReader
import java.io.InputStreamReader
fun main(args: Array<String>) = with(BufferedReader(InputStreamReader(System.`in`))) {
val a = readLine().replace(" ", "")
val b = readLine().replace(" ", "")
var aResult = 0
var bResult = 0
for (i in 0..9) {
when {
a[i] > b[i] -> aResult += 3
a[i] < b[i] -> bResult += 3
else -> {
aResult += 1
bResult += 1
}
}
}
println("$aResult $bResult")
if (aResult != bResult) {
println(
when {
aResult > bResult -> "A"
else -> "B"
}
)
} else {
var isWinner = ""
for (i in 9 downTo 0) {
if (a[i] != b[i]) {
if (a[i] > b[i]) {
isWinner = "A"
break
} else {
isWinner = "B"
break
}
}
}
if (isWinner != "") {
println(isWinner)
} else {
println("D")
}
}
}