Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 25704번 - '출석 이벤트' (PYTHON 풀이) 본문
문제:

출석 도장과 물건의 가격이 주어질 때, 할인이 적용된 후 지불할 금액을 출력하는 문제이다.
이때 출력값은 음수가 되지 않아야한다는 점을 유의해야 한다.(할인 금액이 물건의 가격보다 더 큰 경우 0원 출력)
풀이:
n = int(input())
p = int(input())
prices = [p]
if n >= 5:
prices.append(p - 500)
if n >= 10:
prices.append(p * 90 // 100)
if n >= 15:
prices.append(p - 2000)
if n >= 20:
prices.append(p * 75 // 100)
print(max(0, min(prices)))
n, p에 각각 값을 입력받고 prices 리스트를 선언한다. 해당 리스트에 지불할 금액을 우선 넣었는데 그 이유는, 도장이 5개보다 적은 경우는 할인을 못 받고 지불 금액을 그대로 출력해야 하기 때문이다.
그 후 n(도장 개수)을 주어진 조건과 비교해서 계산한 뒤 prices 리스트에 추가한다. 또한, 소수점 방지 차원에서 // 을 사용하였다.
이렇게 각 조건에 맞게 계산한 뒤 모두 prices에 넣으면 할인이 적용되거나 아예 적용되지 않은 값들이 들어가 있을 것이다.
마지막으로 prices에서 가장 싸게 살 수 있는 가격을 출력해야 하므로 min을 활용해서 값을 구하고 최솟값이 0보다 작아지지 않게 막기 위하여 max를 써서 값을 바로 출력하였다.
'CODING 💻' 카테고리의 다른 글
| 백준 30802번 - '웰컴 키트' (PYTHON 풀이) (0) | 2026.04.04 |
|---|---|
| 백준 32953번 - '회상' (PYTHON 풀이) (0) | 2026.04.03 |
| 백준 30501번 - '관공... 어찌하여 목만 오셨소...' (PYTHON 풀이) (1) | 2026.04.01 |
| 백준 28290번 - '안밖? 밖안? 계단? 역계단?' (PYTHON 풀이) (0) | 2026.03.31 |
| 백준 4470번 - '줄번호' (PYTHON 풀이) (0) | 2026.03.30 |
