[백준] 사나운 개 (2991)(kotlin)
문제 설명
입력 및 출력
» 입력
- 첫째 줄에 A, B, C, D가 주어진다. 둘째 줄에는 P, M, N가 주어진다. P는 우체부의 도착 시간, M은 우유배달원의 도착 시간, N은 신문배달원의 도착 시간이다. 매일 아침이 시작하는 시간을 0이라고 한다. 도착 시간은 아침이 시작한 후 지난 시간이다. 예를 들어, P가 3이면, 우체부는 아침이 시작하고 세 번째 분이 진행되는 중에 도착했다는 뜻이다. 모든 수는 1보다 크거나 같고, 999보다 작거나 같은 정수이다.
» 출력
첫째 줄에는 우체부, 둘째 줄에는 우유배달원, 셋째 줄에는 신문배달원이 개 몇 마리에게 공격 받는지 출력한다.
예제 입출력(테스트케이스)
입력 | 출력 |
---|---|
2 2 3 3 1 3 4 |
2 1 0 |
문제 풀이1
import java.io.BufferedReader
import java.io.InputStreamReader
fun main(args: Array<String>) = with(BufferedReader(InputStreamReader(System.`in`))) {
val abcd = readLine().split(" ").map { it.toInt() }
val ab = abcd[0] + abcd[1]
val cd = abcd[2] + abcd[3]
val pmn = readLine().split(" ").map { it.toInt() }
pmn.forEach {
var attack = 0
if (ab < it) {
if (it % ab <= abcd[0]) attack += 1
} else {
if (it <= abcd[0]) attack += 1
}
if (cd < it) {
if (it % cd <= abcd[2]) attack += 1
} else {
if (it <= abcd[2]) attack += 1
}
println(attack)
}
}