| 옷가게 할인 받기
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 코드를 하나씩 설명하자면,
1. 초기 변수 설정
함수가 호출될 때, 먼저 yeon이라는 변수를 price와 같은 값으로 초기화 → 최종 할인된 가격 저장
func solution(_ price:Int) -> Int {
var yeon = price
2. 할인 조건문
함수는 조건문(if, else if)을 사용하여 가격에 따라 할인율을 적용
if price >= 500000 {yeon = Int(Double(price)*0.8)}
else if price >= 300000 {yeon = Int(Double(price)*0.9)}
else if price >= 100000 {yeon = Int(Double(price)*0.95)}
□ 500,000원 이상일 경우:
- 가격이 500,000원 이상이라면, 20% 할인이 적용
→ Double(price)*0.8을 통해 가격의 80%를 계산하고, Int로 변환하여 yeon에 저장
□ 300,000원 이상일 경우:
- 가격이 500,000원 미만이면서 300,000원 이상일 경우, 10% 할인이 적용
→ Double(price)*0.9을 통해 가격의 90%를 계산하고, Int로 변환하여 yeon에 저장
□ 100,000원 이상일 경우:
- 가격이 300,000원 미만이면서 100,000원 이상일 경우, 5% 할인이 적용
→ Double(price)*0.95을 통해 가격의 95%를 계산하고, Int로 변환하여 yeon에 저장
3. 결과 반환
할인된 가격이 저장된 yeon 변수 반환 → 최종 계산된 할인된 가격
최종 제출 ▽
import Foundation
func solution(_ price:Int) -> Int {
var yeon = price
if price >= 500000 {yeon = Int(Double(price)*0.8)}
else if price >= 300000 {yeon = Int(Double(price)*0.9)}
else if price >= 100000 {yeon = Int(Double(price)*0.95)}
return yeon
}
다른 풀이 참조 ▽
import Foundation
func solution(_ price:Int) -> Int {
switch price {
case 100000..<300000:
return Int(Double(price) * 0.95)
case 300000..<500000:
return Int(Double(price) * 0.9)
case 500000...1000000:
return Int(Double(price) * 0.8)
default:
return price
}
}
'iOS 앱 개발자 프로젝트 > 알고리즘 코드카타' 카테고리의 다른 글
[Algorithm] 영어가 싫어요 (w/ Swift) (0) | 2024.09.15 |
---|---|
[Algorithm] 배열 회전시키기(w/ Swift) (0) | 2024.09.06 |
[Algorithm] OX 문제 (0) | 2024.05.06 |
[Algorithm] a와 b 출력하기 (w/ Swift & Python) (0) | 2024.04.22 |
[Algorithm] 추억 점수 (w/ Swift) (0) | 2024.04.14 |