[プログラマー]不足金額Pythonの計算


質問する


https://programmers.co.kr/learn/courses/30/lessons/82612
新しくできたアトラクションが人気で、行列が絶えません.このアトラクションの元の利用料はpriceoneで、N回目の利用であれば元の利用料のN倍を徴収します.つまり、1回目の利用料金が100であれば、2回目の利用料金は200、3回目の利用料金は300です.
count号アトラクションに乗る場合は、現在持っている金額に必要な金額を返すためのソルバを完了します.
ただし、金額が不足していない場合は、0を返してください.

せいげんじょうけん

  • アトラクション使用料価格:1≦price≦2500、価格自然数
  • 初期保有金額通貨:1≦通貨≦10000000、自然数
  • アトラクション使用回数count:1≦count≦2500、countは自然数
  • I/O例


    入力
    price = 3
    money = 20
    count = 4
    しゅつりょく
    result = 10

    アイデア

  • sum listのgugudanのように増加したcountに新しいリストを乗算します.
  • リストの和では、保有しているお金である通貨を除いた残りの金額が0より大きい場合に返却されます.
  • 义齿

    def solution(price, money, count):
        answer = -1
        sum_list = [(price * (x + 1)) for x in range(count)]
        if sum(sum_list) - money > 0:
            answer = sum(sum_list) - money
        else:
            answer = 0
    
        return answer

    他者コード


    :::等比数列の和を求めるように計算した後、0未満の場合はmax出力0を使用します。

    def solution(price, money, count):
        return max(0,price*(count+1)*count//2-money)
    ソース:プログラマの回答