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


문제
네버랜드 정부는 최근 예상치 못한 가격 인상과 함께 새로운 휘발유 배급 계획을 발표했습니다. 새로운 계획에 따르면, 각 개인은 연료 카드로 한 달에 60리터의 할당량을 받습니다. 할당량 내에 있으면 휘발유 1리터당 1,500 오슐루브입니다. 추가 연료는 리터당 3,000 오슐루브입니다.
충격에서 회복한 마야는 미래가 얼마나 어두운지 알아내려고 노력하고 있습니다. 이번 달이 끝나가고 있고, 마야는 연료 카드에 다음 달에 사용할 수 있는 할당량이 남아 있습니다. 다음 달 초에 연료 카드에 60리터의 할당량이 추가됩니다. 그녀는 또한 다음 달에 사용될 휘발유 양에 대한 예측도 가지고 있습니다. 그녀는 이제 다음 달에 휘발유에 얼마를 지불해야 하는지 알고 싶어합니다. 하지만 그녀는 스스로 그것을 하기에는 너무 게으릅니다. 그래서 그녀는 당신의 도움이 필요합니다. 그녀의 비용을 계산해 주세요.
입력
입력은 두 줄로 구성되어 있습니다. 첫 번째 줄에는 정수 n(0 ⩽ n ⩽ 200)이 들어 있으며, 다음 달에 사용될 휘발유 양을 지정합니다. 두 번째 줄에는 정수 k(0 ⩽ k ⩽ 360)가 들어 있으며, 현재 달 말에 Mahya의 연료 카드에 남은 할당량을 나타냅니다.
출력
마히아가 다음 달에 휘발유 값을 오슐루브로 인쇄하세요.
◎알고리즘 [풀이과정]
가장 먼저 확인해야 할 정보는 이월될 양과 다음 달 들어올 기름의 양(60L)을 더한 값보다 마야가 구매할 기름의 양이 작은지 큰지를 비교하는 것이다.
만약 작다면
마야가 구매할 기름의 양에 1500원을 곱해서 값을 출력하면 된다.
만약 크다면
마야가 구매할 양에서 1500원에 구매할 수 있는 기름의 양을 뺀 뒤 뺀 값은 1500원을 곱하고 나머지는 3000원을 곱해서 결괏값을 합쳐 출력하면 된다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); //다음달 사용할 기름의 양
int k = sc.nextInt(); //이번달 남은 기름의 양
int inc = k+60;
if(n < inc) {
System.out.println(n*1500);
}
else {
int over = n - inc;
over *= 3000;
inc *= 1500;
System.out.println(over+inc);
}
}
}
'알고리즘 > 랜덤 마라톤' 카테고리의 다른 글
| [백준] 1871번: 좋은 자동차 번호판 - JAVA[랜덤 마라톤] (0) | 2024.08.24 |
|---|---|
| [백준] 6030번: Scavenger Hunt - JAVA[랜덤 마라톤] (0) | 2024.08.23 |
| [백준] 24736번: Football Scoring - JAVA[랜덤 마라톤] (0) | 2024.08.23 |
| [백준] 11382번: 꼬마 정민 - JAVA[랜덤 마라톤] (0) | 2024.08.23 |
| [백준] 25377번: 빵 - JAVA[랜덤 마라톤] (0) | 2024.08.21 |