LeetCode in Kotlin

1344. Angle Between Hands of a Clock

Medium

Given two numbers, hour and minutes, return the smaller angle (in degrees) formed between the hour and the minute hand.

Answers within 10-5 of the actual value will be accepted as correct.

Example 1:

Input: hour = 12, minutes = 30

Output: 165

Example 2:

Input: hour = 3, minutes = 30

Output: 75

Example 3:

Input: hour = 3, minutes = 15

Output: 7.5

Constraints:

Solution

class Solution {
    fun angleClock(hour: Int, minutes: Int): Double {
        val minAngle = minutes * 360.0 / 60
        val hourAnglePart1: Double = if (hour != 12) hour * 360.0 / 12 else 0.0
        val hourAnglePart2 = (30 * minutes).toDouble() / 60.0
        val hourAngle = hourAnglePart1 + hourAnglePart2
        val preResult = Math.abs(minAngle - hourAngle)
        return if (preResult > 180) 360 - preResult else preResult
    }
}