프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
고객이 구매한 물건들의 가격과 지불 금액이 주어졌을 때, 거스름돈을 얼마나 줘야 하는지 구하려 합니다.
예를 들어 구매한 물건들의 가격이 [2100, 3200, 2100, 800]이라면 총 구매금액은 8200원입니다. 이때, 고객이 10000원을 지불했다면 1800원을 거슬러 주면 됩니다.
고객이 구매한 물품들의 가격이 들어있는 배열 price와 지불한 금액 money가 매개변수로 주어질 때, 거슬러 줘야 하는 금액을 return 하도록 solution 함수를 완성해주세요.
매개변수 설명
고객이 구매한 물품의 가격이 들어있는 배열 price와 지불한 금액 money가 solution 함수의 매개변수로 주어집니다.
- price의 길이는 1 이상 50 이하입니다.
- price의 원소는 고객이 구매한 물품의 가격이며, 10 이상 100,000 이하의 자연수입니다.
- money는 10 이상 5,000,000 이하의 자연수입니다.
return 값 설명
고객에게 거슬러 줘야 하는 금액을 return 하도록 solution 함수를 작성해주세요.
- 구매 금액보다 지불 금액이 작은 경우에는 -1을 return 해주세요.
예시
예시 설명
예시 #1고객은 순서대로 2100원, 3200원, 2100원, 800원짜리 물품을 구매했습니다. 고객이 구매한 물건의 총금액은 8200원(2100원 + 3200원 + 2100원 + 800원)이며, 고객이 지불한 돈이 10000원이므로 1800원을 거슬러 줘야 합니다.
코드
def solution(price, money):
hap = sum(price)
if hap <= money:
answer = money - hap
return answer
else:
return -1
풀이
- 리스트 sum() 함수
- sum(iterable)
- sum(iterable, start)
- 굳이 hap 이라는 변수를 만들고 for 반복문을 돌려서 리스트의 총합을 구할 필요없이 sum() 함수를 사용하면 됨
Python - sum()으로 리스트의 합계 계산
sum()은 list, tuple, dictionary의 합을 리턴하는 함수입니다. 숫자만 가능하며, 숫자가 아닌 객체가 있을 때 TypeError가 발생합니다. sum(iterable) - iterable의 합 리턴 , sum(iterable, start) - start + iterable의 합 리
codechacha.com
- if, else 구문을 사용하여 answer 출력
'코딩 테스트 > COS PRO Python 2급' 카테고리의 다른 글
[COS PRO Python 기출 - 1차] 1. 단체 티셔츠를 주문하기 (0) | 2022.07.09 |
---|---|
[프로그래머스 - COS PRO 파이썬 2급] 10. k번째로 작은 수 (0) | 2022.07.08 |
[프로그래머스 - COS PRO 파이썬 2급] 8. 이름에 "j" 또는 "k"가 들어가는 사람 (0) | 2022.07.08 |
[프로그래머스 - COS PRO 파이썬 2급] 7. 알파벳 바꾸기 (0) | 2022.07.08 |
[프로그래머스 - COS PRO 파이썬 2급] 6. 키가 K보다 큰 사람 (0) | 2022.07.08 |