미누에요
[백준25704번] 출석 이벤트 - C99 본문
728x90
반응형
SMALL
도장이 5개면 500원 할인
도장이 10개면 10% 할인
도장이 15개면 2000원 할인
도장이 20개면 25% 할인
하지만 도장의 개수가 만약 20개라면 25% 할인과 2000원 할인 중 더 많은 할인이 들어가는 것을 선택해야 할 것이다.
다행히도, 도장을 사용하는 개수에는 조건을 달지 않았다.
그럼 그냥 비교해서 계산하는 수학 문제이다.
#include <stdio.h>
int main(void) {
int n = 0; // 쿠폰 개수
int price = 0; // 할인 전 금액
int rstPrc = 0; // 결론적으로 지불할 금액
scanf("%d", &n);
scanf("%d", &price);
if (n >= 20) { // 도장이 20개 이상일 때
if ((price * 0.75) < (price - 2000)) {
rstPrc = price * 0.75;
} else {
rstPrc = price - 2000;
}
} else if (n >= 15) { // 도장이 15개 이상일 때
if ((price * 0.9) < (price - 2000)) {
rstPrc = price * 0.9;
} else {
rstPrc = price - 2000;
}
} else if (n >= 10) { //도장이 10개 이상일 때
if ((price * 0.9) < (price - 500)) {
rstPrc = price * 0.9;
} else {
rstPrc = price - 500;
}
} else if (n >= 5) { // 도장이 5개 이상일 때
rstPrc = price - 500;
} else if (n < 5) { // 도장이 5개 미만일 때
rstPrc = price;
}
if (rstPrc <= 0) { // 할인금액이 원래 금액보다 클 경우
rstPrc = 0; // 문제에서 0원으로 표기하라고 되어있음.
}
printf("%d\n", rstPrc);
return 0;
}
도장 개수에 따라 나누고, 각 상황을 비교하여 계산해야 한다.
728x90
반응형
LIST
'알고리즘' 카테고리의 다른 글
[백준 9063번] 대지 - C99 (1) | 2023.06.06 |
---|---|
[백준1267번] 핸드폰 요금 - C99 (0) | 2023.06.06 |
[백준 5524번] 입실 관리 - C99 (0) | 2023.06.06 |
[백준 4470번] 줄번호 - C99 (0) | 2023.06.06 |
별 그리기에서 아차 싶었던 나의 복습 (0) | 2023.06.06 |