Minwoo Dev.

[백준25704번] 출석 이벤트 - C99 본문

백준

[백준25704번] 출석 이벤트 - C99

itisminu 2023. 6. 6. 10:31
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