※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 25704번 문제인 출석 이벤트이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/25704 

 

25704번: 출석 이벤트

쇼핑몰에서 30일간 출석 이벤트를 진행한다. 쇼핑몰의 사이트를 방문하면 1일 1회 출석 도장을 받을 수 있고, 출석 도장을 여러 개 모아서 할인 쿠폰으로 교환할 수 있다. 출석 도장의 개수에 따

www.acmicpc.net

각 쿠폰을 사용할 수 있는지 여부를 생각해, 사용할 수 있는 각 쿠폰을 적용한 가격 중 최솟값을 출력하자.

 

단, 500원 할인 쿠폰 및 2,000원 할인 쿠폰의 경우 가격이 각 쿠폰의 액수를 넘어간다면 지불해야 하는 액수가 음수가 아닌 0이 된다는 문제의 조건에 유의하자.

 

또한, 어떠한 쿠폰을 사용할 수 없더라도(출석 도장이 5개 미만인 경우) 물건을 제값을 주고 구입할 수 있다는 점을 놓치지 말자.

 

아래는 제출한 소스코드이다:

#include <iostream>
using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	
	int N, P; cin >> N >> P;
	int ans = P;
	if (N >= 5) ans = min(ans, P - 500);
	if (N >= 10) ans = min(ans, P / 10 * 9);
	if (N >= 15) ans = min(ans, P - 2000);
	if (N >= 20) ans = min(ans, P / 4 * 3);

	cout << max(ans, 0);
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 25785 // C++] Easy-to-Pronounce Words  (0) 2022.11.10
[BOJ 25774 // C++] Simplified Calander System  (0) 2022.11.10
[BOJ 25270 // C++] 99 Problems  (0) 2022.11.10
[BOJ 25850 // C++] A Game Called Mind  (0) 2022.11.10
[BOJ 24348 // C++] ИЗРАЗ  (0) 2022.11.09

+ Recent posts