[프로그래머스] Level 1 - 부족한 금액 계산하기
in Algorithm on Programmers, Problems
문제
문제 설명 및 풀이
레벨 1이라 후딱 풀고 다음 레벨 가야지 하는 마음에 자꾸 대충 풀게 된다.
이 문제 또한 저번의 두 정수 사이의 합과 비슷하다.
이 역시, 가우스의 일화를 떠올려 볼 수 있다. 즉, 등차수열의 합으로 문제를 풀어낼 수 있다.
$ \sum^n_{i=1}(price \times count) = price * \frac {n(n+1)}{2} $
C++스러운 나의 코드
def solution(price, money, count):
answer = -1
num = 0
idx = 1
while count > 0:
count -= 1
num += price*idx
idx += 1
answer = max(num-money, 0)
return answer
Pythonic한 풀이
def solution(price, money, count):
return max(0,price*(count+1)*count//2-money)