[백준] 학점계산 (2754)(kotlin)

문제 설명

백준 2754번 문제 링크

입력 및 출력

» 입력

첫째 줄에 C언어 성적이 주어진다. 성적은 문제에서 설명한 13가지 중 하나이다.

» 출력

첫째 줄에 C언어 평점을 출력한다.

예제 입출력(테스트케이스)

입력 출력
A0 4.0

문제 풀이1

import java.io.BufferedReader
import java.io.InputStreamReader

fun main(args: Array<String>) = with(BufferedReader(InputStreamReader(System.`in`))) {
    val grade = readLine()

    println(
        String.format("%.1f",
            when (grade[0]) {
                'A' -> 4.3f + gradeIndicator(grade[1])
                'B' -> 3.3f + gradeIndicator(grade[1])
                'C' -> 2.3f + gradeIndicator(grade[1])
                'D' -> 1.3f + gradeIndicator(grade[1])
                else -> 0.0f
            }
        )
    )
}

fun gradeIndicator(ind: Char): Float = when(ind) {
    '+' -> 0.0f
    '0' -> -0.3f
    else -> -0.6f
}