본문 바로가기

iOS 앱 개발자 프로젝트/알고리즘 코드카타

[Algorithm] 옷가게 할인 받기

 

|  옷가게 할인 받기 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

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
}
}