강의로 돌아가기
ssu

코드를 이렇게 작성해도 될까요?

def solution(price, money):
    answer = 0
    total_price = 0
    for i in price :
            total_price += i

    if  total_price > money : 
        return -1
    else :
        answer = money - total_price
        return answer


결과값은  나왔는데.. 어떻게 해야 효율적인지를 모르겠습니다.
이렇게 작성해도 되는건가요?
3 개의 답변
이준

일반적인 문법을 사용한 것으로는 나쁘지 않은 코드입니다.
다만 파이썬에는 sum()이라는 내장함수가 있으므로 2번째부터 4번째 라인을 한 줄로 표현할 수 있습니다.

def solution(price, money):
    answer = 0
    total = sum(price)
    if total > money: -1
    else: money - total

이 정도가 무난한 코드가 될 것 같습니다.

  • ssu
    답변 감사합니다!! ssu 2018.09.05 13:37
박홍은

def solution(price, money):
answer = 0
for i in price:
answer += i
answer = money - answer
if answer < 0:
return -1
return answer
전이렇게

이재훈
def solution(price, money): return money - sum(price) if money >= sum(price) else -1
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.