[백준] 핸드폰 요금 (1267)(kotlin)

문제 설명

백준 1267번 문제 링크

입력 및 출력

» 입력

동호가 저번 달에 이용한 통화의 개수 N이 주어진다. N은 20보다 작거나 같은 자연수이다. 둘째 줄에 통화 시간 N개가 주어진다. 통화 시간은 10,000보다 작거나 같은 자연수이다.

» 출력

  • 첫째 줄에 싼 요금제의 이름을 출력한다. 그 후에 공백을 사이에 두고 요금이 몇 원 나오는지 출력한다. 만약 두 요금제의 요금이 모두 같으면 영식을 먼저 쓰고 민식을 그 다음에 쓴다. 영식은 Y로, 민식은 M으로 출력한다.

예제 입출력

입력 출력
3
40 40 40
M 45
3
61 61 61
Y M 90

문제 힌트

영식 : 20 + 20 + 20 = 60 민식 : 15 + 15 + 15 = 45

문제 풀이1

import java.util.Scanner

fun main(args: Array<String>) = with(Scanner(System.`in`)) {
    val calls = nextInt()
    var y = 0
    var m = 0
    repeat(calls) {
        val call = nextInt()
        y += 10 * (call / 30 + 1)
        m += 15 * (call / 60 + 1)
    }

    println(
        when {
            y == m -> "Y M $y"
            y < m -> "Y $y"
            else -> "M $m"
        }
    )
}