https://programmers.co.kr/learn/courses/30/lessons/82612
놀이기구에 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한다.
'알고리즘 > Programmers' 카테고리의 다른 글
[Programmers] 문자열 내림차순으로 배치하기 (0) | 2022.06.15 |
---|---|
[Programmers] 약수의 개수와 덧셈 (0) | 2022.06.15 |
[Programmers] 예산 (0) | 2021.05.06 |
[Programmers] 문자열 내 p와 y의 개수 (0) | 2021.02.02 |
[Programmers] 서울에서 김서방 찾기 (0) | 2021.01.22 |
댓글