본문 바로가기
알고리즘/Programmers

[Programmers] 부족한 금액 계산하기

by 소꿍 2022. 6. 15.

https://programmers.co.kr/learn/courses/30/lessons/82612

 

코딩테스트 연습 - 부족한 금액 계산하기

새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이

programmers.co.kr

 

 

놀이기구에 count 회 탑승할 때 1, 2, ... count * price로 가격이 점점 올라가는데,

이를 등차수열로 보고 등차수열의 합 공식을 적용해서 계산이 가능하다.

 

 

Python

 

def solution(price, money, count):
    return max(0, price * (count + 1) * count // 2 - money)

 

 

 

등차수열의 합 = n (첫항 a + 끝항 l) / 2

 

n = count이고

a + l = price + (price * count) = price(count + 1)이니

 

전체 가격은 price(count + 1) * count // 2이 된다.

전체 가격에서 money를 빼면 부족한 금액이 되고,

음수가 나오는 경우는 돈이 남은 경우이기 때문에 max(0, 전체 가격)을 이용해 0을 return한다.

댓글