[문제 링크] 👇
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이
이용료 구하기
for i in range(1, count + 1):
answer += price * i
- N배 이므로 1부터 count 까지 처음 이용료인 price에 곱한다.
- 곱한 결과를 더하면서 누적한다.
부족한 금액 출력하기
if answer - money > 0:
return answer - money
else:
return 0
- 금액이 부족하지 않을 수도 있다. 따라서 금액이 부족한지 아닌지 구분한다.
- 이용료에서 자신이 가지고 있는 금액인 money를 빼서 그 값이 양수이면,
- 이용료 - 가지고 있는 금액
- 음수이면(false 이면),
- 0을 반환한다.
Solution
def solution(price, money, count):
answer = 0
for i in range(1, count + 1):
answer += price * i
if answer - money > 0:
return answer - money
else:
return 0
👩💻 회고
금액이 부족하지 않으면 0을 반환해야 하는 문제 때문에 처음 제출에 실패했었다. if 문에서 answer - money 라고 안 하고 단순히 answer 라고 해서 모두 금액이 부족하다고 판단한 것이다. 바보였다.
'프로그래머스 코딩테스트 > Level 1' 카테고리의 다른 글
[Programmers] L1. 예산 (Python) (0) | 2024.10.30 |
---|---|
[Programmers] L1. 크기가 작은 부분문자열 (Python) (0) | 2024.10.25 |
[Programmers] L1. 내적 (Python) (0) | 2024.10.25 |
[Programmers] L1. 음양 더하기 (Python) (0) | 2024.10.25 |
Programmers 약수의 합 (Java/Level 1) (0) | 2023.02.09 |