티스토리 뷰
문제 설명
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.
예각 : 0 < angle < 90
직각 : angle = 90
둔각 : 90 < angle < 180
평각 : angle = 180
제한 조건
0 < angle ≤ 180
angle은 정수입니다.
내 답안
func solution(_ angle:Int) -> Int {
var result = 0
switch angle {
case 1..<90: return 1
case 90: return 2
case 91..<180: return 3
default: return 4
}
return result
}
접근 방법
다른 풀이
func solution(_ angle:Int) -> Int {
var result = 0
if 0 < angle && angle < 90 {
result = 1
} else if angle == 90 {
result = 2
} else if 90 < angle && angle < 180 {
result = 3
} else if angle == 180 {
result = 4
}
return result
}
func solution(_ angle:Int) -> Int {
return angle <= 90 ? ( angle < 90 ? 1 : 2) : (angle < 180 ? 3 : 4)
}
생각해본 것
삼항연산자로 푸는 방법도 있었는데, 3개 이상의 조건을 삼항연산자로 작성하는 게 과연 좋을까? 라는 생각이 조금 들었는데...
내 기준으로 봤을 때 가독성은 switch 문이 가장 좋은 것 같다
'코딩테스트' 카테고리의 다른 글
Lv.0 swift 세균 증식 (0) | 2024.03.17 |
---|---|
Lv.0 swift 짝수의 합 (0) | 2024.03.17 |
Lv.0 swift 두 수의 나눗셈 (1) | 2024.03.17 |
11월 7일 제일 작은 수 제거하기 (0) | 2023.11.08 |
11월 7일 핸드폰 번호 가리기 (0) | 2023.11.06 |
최근에 올라온 글