[문풀] 부족한 금액 구하기

Kiwi·2024년 3월 27일

Algorithm

목록 보기
9/17

⚙️ 부족한 금액 계산하기

문제를 풀면서 느끼는거지만 문제는 어떻게 해서든 푸는 것은 가능하다. 다만 어떻게 코드를 짰고 좀더 효율적인가의 문제인것같다.. 문제를 보고 바로 짠 코드는 다음과 같다.

import Foundation

func solution(_ price:Int, _ money:Int, _ count:Int) -> Int64{
    var answer:Int64 = -1
    var totalprice = 0
    for time in 1...count {
        totalprice += price * time
    }
    if money > totalprice {
        answer = 0
    } else {
        answer = Int64(totalprice - money)
    }
    return answer
}

이렇게 코드를 짜고 좀더 줄일 방법이 없을까 해서 다른사람들의 풀이를 참고해보니 수학적 사고가 들어간 풀이가 꽤 있어 참고해보았다. 어떤 연속된 범위의 숫자를 더할때 공식이 있었는데 (이걸 마지막으로 배운게 고등학생때인가..🥲) 오랜만에 복기할 수 있어서 좋았다.

func solution(_ price:Int, _ money:Int, _ count:Int) -> Int64{
    let totalPrice = price * (count * (count+1)/2)

    if money >= totalPrice {
        return 0
    }

    return Int64(totalPrice - money)
}
profile
🐣 iOS Developer

0개의 댓글