[문제]
남서네 집 앞 편의점에는 각각 S, N, U의 이름이 붙은 총 3가지의 과자를 판다.
남서는 오늘 과자를 10봉지 사려고 한다. 편의점의 단골인 남서는 할인 쿠폰 하나를 가지고 있는데, 총 구매 금액이 5,000원 이상일 때 500원을 깎아 주는 쿠폰이다. 구매 금액이 5,000원 미만인 경우에는 할인 쿠폰을 쓸 수 없다. 또한 할인을 여러 번 적용할 수는 없다.
남서는 과자를 고를 때 가성비를 중요하게 생각한다. 남서가 생각하는 가성비란, 총 무게를 총 금액으로 나눈 값이다. 남서는 빨리 과자가 먹고 싶기 때문에, 한 종류의 과자만을 10봉지 골라 사 가려고 한다. 또, 다른 물건은 구매하지 않을 생각이다.
진열대를 들여다 보던 남서는 신기하게도 세 과자의 가성비가 모두 서로 다르다는 사실을 깨달았다. 남서는 어떤 과자를 사게 될까?
[문제 접근]
각 과자들의 가성비를 생각하여 리스트에 저장한다. 리스트의 max()함수와 일치하는 과자를 남서는 사게 될 것이다.
[정답]
1. 각 과자들의 가성비를 저장할 리스트 ans을 선언한다.
2. for문을 돌면서 리스트 snack에 가격과 무게를 저장한다.
3. 총 무게 weight와 price를 계산한다. 만약 price>5000 이라면 할인쿠폰 500원을 뺀다. 그리고 가성비를 계산하여 리스트 ans에 넣는다.
4. 만약 ans[0] 즉 첫 과자가 max(ans)와 같다면 'S'를 출력한다. 만약 ans[1] 즉 두 번째 과자가 max(ans)와 같다면 'N'을 출력한다. 만약 세 번째 과자가 max(ans)와 같다면 'U'를 출력한다.
'알고리즘 공부 > 백준 > Python3' 카테고리의 다른 글
[백준 파이썬] #2914: 저작권 (0) | 2021.02.25 |
---|---|
[백준 파이썬] #1964: 오각형, 오각형, 오각형... (0) | 2021.02.25 |
[백준 파이썬] #13163: 닉네임에 갓 붙이기 (0) | 2021.02.24 |
[백준 파이썬] #2506: 점수계산 (0) | 2021.02.23 |
[백준 파이썬] #2605: 줄 세우기 (0) | 2021.02.23 |