[백준/JAVA] 10707번 수도요금

정은아·2024년 11월 28일

[알고리즘] 수학 모음

목록 보기
135/152
post-thumbnail

문제

백준 10707번 수도요금 JAVA

내 풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws Exception {
        // X사: 1L당 A엔
        // Y사: 기본요금 B엔, 사용량 C 이하라면 기본요금
        //      C이상일 경우 B+추가요금(L당 D엔)

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        int x = Integer.parseInt(br.readLine());
        int y = Integer.parseInt(br.readLine());
        int c = Integer.parseInt(br.readLine());
        int d = Integer.parseInt(br.readLine());
        int water = Integer.parseInt(br.readLine());

        int xCharge = water * x;
        int yCharge = 0;

        if (water <= c){
            yCharge = y;
        }else{
            yCharge = y + ((water - c) * d);
        }

        int min = Math.min(xCharge, yCharge);

        sb.append(min);
        System.out.println(sb.toString());
    }
}

느낀점

예제입력
8
300
100
10
250

예제출력
1800

설명
P가 사용한 물: 250L
X수도요금: 8 * 250 = 2000엔
Y수도요금: 100L까지가 기본요금, 150L 추가요금
기본요금 + 150L의 추가요금
300 + (10 x 150) = 1800

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글