반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1.[백준] 백준 25704번 출석 이벤트 자바(JAVA)

1) 문제번호 : 25704

 

2) 문제 출처

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

 

25704번: 출석 이벤트

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

www.acmicpc.net

 

2. 문제

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

출석 도장의 개수에 따라 교환할 수 있는 할인 쿠폰의 종류가 달라진다.

  • 출석 도장 5개   → 500원 할인 쿠폰
  • 출석 도장 10개 → 10% 할인 쿠폰
  • 출석 도장 15개 → 2,000원 할인 쿠폰
  • 출석 도장 20개 → 25% 할인 쿠폰

경태가 모은 출석 도장의 개수와 구매할 물건의 가격이 주어졌을 때, 경태가 지불해야 하는 최소 금액을 구하시오. 단, 할인 쿠폰은 최대 하나만 적용 가능하다. 할인 금액이 물건의 가격보다 더 큰 경우 지불해야 하는 금액은 0원이다.

 

 

3. 제약사항

 

4. 입력

첫째 줄에 경태가 모은 출석 도장의 개수 N이 주어진다.

둘째 줄에 경태가 구매할 물건의 가격 P가 주어진다. P는 항상 100의 배수이다.

 

5. 출력

첫째 줄에 정답을 출력한다.

 

6. 풀이

- 값을 입력 받아 각 범위 별로 할인된 가격 중 최솟값을 가져와서 출력하면 된다.

- 아래 코드는 리팩토링이 필요한 코드이므로 참고만 하면 된다.

 

7. 소스 코드

package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int N = Integer.parseInt(br.readLine()); // 출석 도장 개수
		int P = Integer.parseInt(br.readLine()); // 물건의 가격
		
		double val = P;
		
		if(N >= 5 && N < 10) {
			val = P - 500;
		} else if(N >= 10 && N < 15) {
			double t1 = P - 500;
			double t2 = P - (P * 0.1);
			
			val = Math.min(t1, t2);
		} else if(N >= 15 && N < 20) {
			double t1 = P - 500;
			double t2 = P - (P * 0.1);
			val = Math.min(t1, t2);
			
			double t3 = P - 2000;
			val = Math.min(val, t3);
			
		} else if(N >= 20) {
			double t1 = P - 500;
			double t2 = P - (P * 0.1);
			val = Math.min(t1, t2);
			
			double t3 = P - 2000;
			val = Math.min(val, t3);
			
			double t4 = P - (P * 0.25);
			val = Math.min(val, t4);
		}
		
		if(val < 0) {
			System.out.println(0);
		} else {
			System.out.println((int)val);			
		}
	}
}

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기