[Algorithm] 프로그래머스 부족한 금액 계산하기

Updated:

문제설명

1

나의 풀이

import Foundation

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

    return Int64(answer)
}

괜찮은 남의 풀의

import Foundation

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

max를 사용해서 if-else문을 사용하지 않은 것도 좋았고, 1부터 count까지의 합을 미리 구하는 공식을 통해서, for문을 사용하지 않은 것이 인상적이였다.

참고

Programmers

Leave a comment