728x90
안녕하세요 Bulmang입니다!
하루에 40분이상은 코딩테스트 한 문제를 풀고 있습니다!
오늘은 런타임 에러가 나서 코드를 수정하였습니다.
런타임에러가 났던 이유는 if 조건문을 많이 사용해서 런타임에러가 났던 것 같습니다!
그후 삼항연산자를 사용해봤습니다
변경 전
func solution(_ price:Int) -> Int {
var result : Int
var discount : Double
guard 10...1000000 ~= price else { return 0 }
if price >= 100000 {
discount = Double(price) * 0.05
} else if price >= 300000 {
discount = Double(price) * 0.1
} else if price >= 500000 {
discount = Double(price) * 0.2
} else {
discount = 0
}
result = price - Int(discount)
return result
}
변경 후
func solution(_ price:Int) -> Int {
var result: Int = price >= 500000 ? 20 : price >= 300000 ? 10 : price >= 100000 ? 5 : 0
guard 10...1000000 ~= price else { return 0 }// price 범위 설정
return price * (100-result) / 100 // 할인률 계산
}
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[Programmers/Swift] Lv.0 중복된 숫자 개수 (0) | 2024.03.08 |
---|---|
[프로그래머스] 문자열 반복 출력 (0) | 2023.03.28 |
[프로그래머스] 최빈값 구하기 (0) | 2023.03.08 |
[프로그래머스] 배열 중앙값 구하기 (0) | 2023.03.06 |
[프로그래머스] 분수의 덧셈 구하기 (0) | 2023.03.05 |