
문제
https://school.programmers.co.kr/learn/courses/30/lessons/82612
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 설명
- 놀이기구 요금은 이용 횟수에 따라 누적 증가
- 원래 이용료가 price원일 때, 놀이기구를 count번째 이용한다면 price*count원
- 놀이기구를 count번 타게 되면 현재 가진 money에서 얼마가 부족한지를 반환
- 단, 금액이 부족하지 않으면 0 반환
- 제한사항
- 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수
- 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수
- 놀이기구의 이용 횟수 count : 1 ≤ count ≤ 2,500, count는 자연수
첫 번째 시도 (성공)
def solution(price, money, count):
total=0
for i in range(1,count+1):
total+=price*i
return 0 if money>total else total-money
개선된 코드
def solution(price, money, count):
total = sum(price*i for i in range(1, count+1))
return max(0, total-money)
풀이 설명
- sum(price*i for i in range(1, count+1))
- 놀이기구를 1번부터 count번까지 이용할 때의 총 비용을 계산
- max(0, total-money)
- 부족한 금액이 음수(돈이 충분)일 경우 0을 반환
'코딩 테스트 연습 > [프로그래머스] Python' 카테고리의 다른 글
| [LV.2] 연습문제 > 행렬의 덧셈 ⭐ (0) | 2025.06.24 |
|---|---|
| [LV.2] 연습문제 > 문자열 다루기 기본 (0) | 2025.06.23 |
| [LV.2] 연습문제 > 문자열 내림차순으로 배치하기 (1) | 2025.06.19 |
| [LV.2] 월간 코드 챌린지 시즌2 > 약수의 개수와 덧셈 (0) | 2025.06.18 |
| [LV.2] 내적 (0) | 2025.06.17 |