Kotlin

Kotlin 문법 : when 구문 (with. 프로그래머스)

깨비도 2024. 5. 8. 14:39

제목

각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.

 

💡 풀이

class Solution {
    fun solution(angle: Int): Int {
        return when (angle) {
            in 1..89-> 1 //예각
            90 -> 2 //직각
            in 91..179 -> 3 //둔각
            180 -> 4 //평각
            else -> 0
        }
    }
}
  • 예각, 직각, 둔각, 평각 총 4개의 조건이 있으므로 if else 문을 쓰는 것보다 switch case문을 사용하는 것이 좋을 것이라 판단했다.하지만 코틀린에서는 switch case문 대신 when 구문을 사용할 수 있다.

1. when 구문

fun example(value) {
    return when (value) {
        조건부 -> 실행코드
        조건부 -> 실행코드
        조건부 -> 실행코드
        else -> 0
    }
}

switch문처럼 별도의 case: 를 표시하지 않고 줄바꿈과 조건부 -> 표기로 작성할 수 있다. else 부분데 default값을 적어주는 용도로 쓰는 것 같다.

fun example(value) {
    return when (value) {
        in 0..10 -> 실행코드
        in 11..14 -> 실행코드
        else -> 0
    }
}

숫자의 범위를 표현하고 싶을 땐 for in 반복문처럼 사용하면 된다.

fun example(value) {
    return when (value) {
        is String -> 실행코드
        value == 0 -> 실행코드
        else -> 0
    }
}

is 표현을 통해 타입 체크를 하거나 조건부 부분에 true/false값을 반환하도록 하여 다양한 형태로 구사할 수 있다.


❗출처

참고 사이트 : https://velog.io/@kmw10693/Kotlin에서-조건문을-다루는-방법

 

Kotlin에서 조건문을 다루는 방법

본 글은 자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)을 보고 정리한 글입니다.Java와 달리, Exception을 던질 때 new를 사용하지 않고 예외를 던진다.Java에서 if-else는 Statement이지만, Kotlin에

velog.io