새소식

⌨️ Algorithms/프로그래머스

[Python] 프로그래머스 Lv1_부족한 금액 계산하기

2023. 1. 5. 20:08

  • -

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

  • 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받음
    • 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상
  • 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return
  • 단, 금액이 부족하지 않으면 0을 return

제한사항

  • 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수
  • 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수
  • 놀이기구의 이용 횟수 count : 1 ≤ count ≤ 2,500, count는 자연수

 

"""
입출력 예시)

price = 3, money = 20, count = 4 -> 10
"""
# 이용금액이 3인 놀이기구를 4번 타고 싶은 고객이 현재 가진 금액이 20이라면, 
# 총 필요한 놀이기구의 이용 금액은 30 (= 3+6+9+12)
# => 부족한 금액: 10

 

 

## 의사코드 ##

# 필요한 총 이용 금액을 구해서 처음 가지고 있던 금액을 빼기

# for n in range(1, count+1):
#   total += price * n
# return total - money

 

 

 

통과한 코드

 

def solution(price, money, count):

    total = 0
    for n in range(1, count+1):
        total += price * n

    # 금액이 부족하지 않으면 0, 부족하면 부족한 금액을 return 
    return 0 if money > total else total - money

-> 금액이 부족하지 않으면 0을 반환한다는 조건 잊지 말기! 

(금액이 부족하지 않은 경우 = 처음 가지고 있던 금액이 총 이용료보다 큰 경우)

 

 

  • 과정 확인
# price = 3, money = 20, count = 4

"""
n: 1
n번째 이용료: 3
total: 3 

n: 2
n번째 이용료: 6
total: 9 

n: 3
n번째 이용료: 9
total: 18 

n: 4
n번째 이용료: 12
total: 30 

total - money: 10
"""

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다!