[JAVA] SWEA 1284 수도요금경쟁

Kyungmin·2023년 11월 16일
0

JAVA알고리즘

목록 보기
15/23

📝 SWEA 1284 수도요금경쟁

  • A 사와 B 사의 수도요금 중 덜 나가는 회사의 요금을 출력하는 문제
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class D2_1284 {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        int T = Integer.parseInt(bf.readLine());
        for(int t=1; t<=T; t++) {
            StringTokenizer st = new StringTokenizer(bf.readLine());
            int P = Integer.parseInt(st.nextToken());   // A 사의 1리터당 요금
            int Q = Integer.parseInt(st.nextToken());   // B 사의 기본 요금
            int R = Integer.parseInt(st.nextToken());   // B 사의 월간 사용량 제한
            int S = Integer.parseInt(st.nextToken());   // B 사의 R 리터 이상일 경우 추가 요금
            int W = Integer.parseInt(st.nextToken());   // 한 달간 사용하는 수도의 양

            int add = W-R;  // B 사의 추가 요금

            int Afactory = P * W;
            int Bfactory = Q;
            if(W<R) {
                Bfactory = Q;
            } else {                // 추가 요금을 내야히는 경우
                Bfactory = Bfactory + (add*S);
            }

            if(Afactory<Bfactory) {     // 요금이 더 적은 회사의 요금 출력
                System.out.println("#"+t+" "+Afactory);
            } else {
                System.out.println("#"+t+" "+Bfactory);
            }

        } // end t for loop
    }
}

<입력>
2
9 100 20 3 10
8 300 100 10 250
<출력>
#1 90
#2 1800

  • A사의 수도 요금은 고정된 값이기 때문에 B사의 W(한달 사용 수도량)값이 R(B사의 수도 제한량)값보다 큰지 작은지만 체크해주면 되는 문제
if(W<R) {
     Bfactory = Q;
} else {  // 추가 요금을 내야히는 경우
    Bfactory = Bfactory + (add*S);	// int add = W-R;
}
profile
Backend Developer

0개의 댓글