📝 문제
>새로 생긴 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다.
놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요.
단, 금액이 부족하지 않으면 0을 return 하세요.
https://programmers.co.kr/learn/courses/30/lessons/82612
🎨 풀이
💡 첫번째 시도 = 성공
def solution(price, money, count):
answer = -1
total = 0;
for num in range(1,count+1):
total += price * num
if total - money < 0:
answer = 0
else : answer = money - total
return abs(answer)
>
0. total은 놀이기구를 n번 타고 싶을 때 들어가는 총 비용이다.
1. for문을 돌려서 점점 늘어나는 price를 total에 저장해준다. 위의 예시처럼 price가 3이고 count가 4라면 total은 3, 9(3+6), 18(3+6+9), 30(3+6+9+12)를 거쳐 최종적으로 30이 될 것이다.
2. total을 구한 후 가지고 있는 돈에서 빼준 값을 0과 비교한다.
- 만약, total - money가 음수라면 가지고 있는 돈이 더 크다는 뜻이므로 0을 리턴해준다. (문제 설명 참고)
- 그렇지 않고 가진 금액이 부족하다면 money에서 total을 빼준 후 출력한다. 그 후, abs()를 통해 절대값을 바꿔 양수로 리턴한다.
끝~
⭐ 느낀점
> 오늘도 살짝 부족한 설명이였지만 그래도 뭐.. 풀이한거에 만족한다. 내 코드와 설명을 읽고 사람들이 이해할 수 있겠지? 꼭 그랬으면 좋겠다. ㅠㅠ
'알고리즘 공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 / Level 1] 가운데 글자 가져오기 (파이썬) (0) | 2022.04.15 |
---|---|
[프로그래머스 / Level 1] [1차] 비밀지도 (파이썬) (0) | 2022.04.15 |
[프로그래머스 / Level 1] 2016년 (파이썬) (0) | 2022.04.12 |
[프로그래머스 / Level 1] 두 개 뽑아서 더하기 (파이썬) (0) | 2022.04.11 |
[프로그래머스 / Level 1] 예산 (파이썬) (0) | 2022.04.10 |