"SWEA 1284 수도 요금 경쟁"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
9번째 줄: 9번째 줄:


==C++==
==C++==
<source lang='cpp'>
<syntaxhighlight lang='cpp'>
</source>
</syntaxhighlight>


==Java==
==Java==
<source lang='java'>
<syntaxhighlight lang='java'>
import java.util.*;
import java.util.*;
class Solution {
class Solution {
39번째 줄: 39번째 줄:
     }
     }
}
}
</source>
</syntaxhighlight>


==Python==
==Python==
<source lang='python'>
<syntaxhighlight lang='python'>
T = int(input())
T = int(input())
for t in range(1, T+1):
for t in range(1, T+1):
57번째 줄: 57번째 줄:


# github.com/wansang93/Algorithm
# github.com/wansang93/Algorithm
</source>
</syntaxhighlight>

2021년 7월 31일 (토) 10:54 판

1 개요

SWEA 1284 수도 요금 경쟁
  • A의 비용은 항상 W * P 이고 B의 비용은 W가 R보다 큰 경우와 작은 경우를 나누어 생각한다.
  • 이 3가지를 비교하여 가장 작은 값을 출력한다.
SW Expert 아카데미
# 문제 풀이

틀:SWEA 난이도 2-3

2 C++

3 Java

import java.util.*;
class Solution {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int T, x;
        T = sc.nextInt();
        
        int P, Q, R, S, W;
        int A, B, charge;
        for(x=1; x<=T; x++) {
            P = sc.nextInt();
            Q = sc.nextInt();
            R = sc.nextInt();
            S = sc.nextInt();
            W = sc.nextInt();

            A = P * W;
            if( W <= R ) B = Q;
            else B = Q + ( W-R ) * S;
            
            charge = Math.min(A,B);
            System.out.format("#%d %d\n",x,charge);
        }
    }
}

4 Python

T = int(input())
for t in range(1, T+1):
    P, Q, R, S, W = map(int, input().split())

    cost_A = W * P 
    cost_B = Q
    if R < W:
        cost_B += S * (W-R)

    cost = min(cost_A, cost_B)

    print('#{} {}'.format(t, cost))

# github.com/wansang93/Algorithm
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}