[TIL][프로그래머스/Swift] 각도기

Eden·2024년 11월 2일
3

TIL

목록 보기
28/41
post-thumbnail

문제 설명

주어진 각도를 다음과 같은 기준으로 구분하여 특정 값을 반환하는 문제다.

  • 예각: 0 < angle < 90 → 1 반환

  • 직각: angle == 90 → 2 반환

  • 둔각: 90 < angle < 180 → 3 반환

  • 평각: angle == 180 → 4 반환

1. if-else로 조건문 작성하기

나는 문제를 보자마자 if-else로 조건문을 작성했다.

func solution(_ angle: Int) -> Int {
    if angle < 90 {
        return 1
    } else if angle == 90 {
        return 2
    } else if angle < 180 {
        return 3
    } else {
        return 4
    }
}

if-else는 조건을 순차적으로 검사하기 때문에 각 조건이 명확하게 분리된다. 다만, 조건이 많아질수록 코드가 길어져 가독성이 떨어질 수 있는 단점이 있다.

2. switch로 조건문 작성하기

switch를 사용하면 코드가 더 깔끔해지고 가독성이 높아진다.

func solution(_ angle: Int) -> Int {
    switch angle {
    case 0..<90:
        return 1
    case 90:
        return 2
    case 91..<180:
        return 3
    case 180:
        return 4
    default:
        return 0  // 예외 처리
    }
}

if-elseswitch의 차이점 및 선택 기준

특징if-else 사용switch 사용
조건 검사 방식조건을 순차적으로 검사case에 따라 분기
가독성조건이 많아지면 코드가 길어질 수 있음명확한 분기와 범위 조건으로 깔끔함
범위 조건 처리복잡해질 수 있음case 0..<90과 같은 범위 조건 사용 가능
사용 시기조건이 간단하거나 순차적으로 검사할 때 적합명확한 값 또는 범위에 따라 분기할 때 적합

중요한 포인투

코드의 가독성을 높이고, 유지보수를 쉽게 하기 위해 상황에 맞는 조건문을 선택하는 것이 중요하다는 점

profile
Just living the daydream, one moment at a time.
post-custom-banner

1개의 댓글

comment-user-thumbnail
2024년 11월 2일

주말도 달리시는,,, 햐

답글 달기