[파이썬 코드카타]
부족한 금액 계산하기
https://school.programmers.co.kr/learn/courses/30/lessons/82612
1) 어떤 문제가 있었나
놀이기구를 n번 이용하면, 이용할 때마다 n배의 이용료 부과 > 금액이 부족하다면 모자란 금액을, 아니면 0을 반환하는 문제
2) 내가 시도해본 건 무엇인가
for 문과 누적합을 활용해 n번 이용할 때마다 돈이 늘어나도록 하고, 최종 금액이 money보다 큰지 작은지 if 절로 판별
if 절 결과 값을 바로 return 하고자 했으나 이 경우, 반복문이 돌지 않아 값이 0만 나와 실패
3) 어떻게 해결했나
return 열을 for문과 동일한 위치로 조정하여 루프가 모두 돌고 마지막 최종 값이 출력되도록 수정
def solution(price, money, count):
answer = 0
for i in range(1, count+1):
answer += price*i
if money - answer < 0:
result = abs(money - answer)
else:
result = 0
return result
4) 무엇을 새롭게 알았나
- return을 if 절 밑에 넣고 싶었다면, for문과 if절을 맞춰주는 것도 가능.
└ 만약 돈이 부족하지 않을 때 0이 아닌 다른 숫자를 반환해야 한다면 내 답은 틀렸을 듯
└ n번의 놀이기구를 모두 탄다면 필요한 금액을 완전히 구한 뒤에, if 절로 체크하는 것이 더 정확함
def solution(price, money, count):
answer = 0
for i in range(1, count+1):
answer += price*i
if money - answer < 0:
return abs(money - answer) # abs 없이 순서를 반대로 해도 answer - money
else:
return 0
'TIL' 카테고리의 다른 글
[240227] SQL: 코드카타 141~142 & 파이썬: 코드카타 37 (1) | 2024.02.27 |
---|---|
[240226] SQL: 코드카타 132~140(right/left) & 파이썬: 코드카타 36(isdecimal/isdigit/isnumeric) (0) | 2024.02.26 |
[240223] 태블로(Tableau) - 매출 대시보드 만들기 (0) | 2024.02.23 |
[240222-23] 태블로(Tableau) - 대시보드 설계와 구성, 생성 (0) | 2024.02.23 |
[240222] SQL: 코드카타 127~130 & 파이썬: 코드카타 34 (0) | 2024.02.22 |