SWEA/D2/1284. 수도 요금 경쟁 D2 Attack/수도 요금 경쟁 D2 Attack.java
💡 Info
내용
삼성전자에 입사한 종민이는 회사 근처로 이사를 하게 되었다.
그런데 집의 위치가 두 수도 회사 A, B 중간에 위치하기에 원하는 수도 회사를 선택할 수 있게 되었는데, 두 회사 중 더 적게 수도 요금을 부담해도 되는 회사를 고르려고 한다.
종민이가 알아본 결과 두 회사의 수도 요금은 한 달 동안 사용한 수도의 양에 따라 다음과 같이 정해진다.
종민이의 집에서 한 달간 사용하는 수도의 양이 W라고 할 때, 요금이 더 저렴한 회사를 골라 그 요금을 출력하는 프로그램을 작성하라.
📥입력 조건
2
9 100 20 3 10
8 300 100 10 250
📤출력 조건
#1 90
#2 1800
실제 풀이 시간 : 20분
import java.util.Scanner;
import java.io.FileInputStream;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int T;
T=sc.nextInt();
for(int test_case = 1; test_case <= T; test_case++)
{
int P = sc.nextInt();
int Q = sc.nextInt();
int R = sc.nextInt();
int S = sc.nextInt();
int W = sc.nextInt();
int result = 0;
for(int i=0; i<W; i++) {
if(W<=R) {
result = Q;
}
else {
result = Q + (W-R)*S;
}
result = Math.min(W*P, Q + (W-R)*S);
}
System.out.println("#" + test_case + " " + result);
}
}
}
//before
for(int i=0; i<W; i++) {
if(W<=R) {
result = Q;
}
else {
result = Q + (W-R)*S;
}
result = Math.min(W*P, Q + (W-R)*S);
}
System.out.println("#" + test_case + " " + result);
//after
for(int i=0; i<W; i++) {
result = Math.min(W*P, Math.max(Q,Q + (W-R)*S));
}
System.out.println("#" + test_case + " " + result);
실제 풀이 시간 : 20분(첫 풀이 시간 포함)
import java.util.Scanner;
import java.io.FileInputStream;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int T;
T=sc.nextInt();
for(int test_case = 1; test_case <= T; test_case++)
{
int P = sc.nextInt();
int Q = sc.nextInt();
int R = sc.nextInt();
int S = sc.nextInt();
int W = sc.nextInt();
int result = 0;
for(int i=0; i<W; i++) {
result = Math.min(W*P, Math.max(Q,Q + (W-R)*S));
}
System.out.println("#" + test_case + " " + result);
}
}
}