-
[백준 - 16917번] 양념 반 후라이드 반 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 12. 10. 10:30
이번에는 BOJ의 16917번 문제 "양념 반 후라이드 반" 을 풀어보도록 하자
입력으로 양념 치킨 가격 A, 후라이드 치킨 가격 B, 반반 치킨 한 마리의 가격 C, 파티를 위한 양념 치킨의 최소 마리수 X, 후라이드 치킨의 최소 마리수 Y 가 차례대로 주어진다.
출력으로는 양념 치킨 최소 X마리, 후라이드 치킨 최소 Y마리를 구매하는 비용의 최솟값을 출력하면 된다.
각각의 예외 케이스에 대해서 계산만 시켜주고 그중 최소값을 구하면 되는 간단한 문제이다.
성공한 코드는 아래와 같다
import java.io.*; import java.util.*; public class sample { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenizer(br.readLine()); int A = Integer.parseInt(st.nextToken()); int B = Integer.parseInt(st.nextToken()); int C = Integer.parseInt(st.nextToken()); int X = Integer.parseInt(st.nextToken()); int Y = Integer.parseInt(st.nextToken()); long ans = 0; if(A + B >= 2 * C){ if(X >= Y){ ans += 2 * C * Y + A * (X - Y); } else { ans += 2 * C * X + B * (Y - X); } } else { ans += A * X + B * Y; } long temp = 0; if(X >= Y) { temp += 2 * C * X; } else { temp += 2 * C * Y; } ans = Math.min(ans, temp); bw.write(ans + "\n"); bw.flush(); br.close(); bw.close(); } }
문제 : https://www.acmicpc.net/problem/16917
혹시 코드에 이상한 부분이나 틀린 부분이 있던지, 이해가 안가는 부분이 있다면 댓글로 알려주세요.
'Algorithm > BOJ(Baekjoon Online Judge)' 카테고리의 다른 글
[백준 - 10819번] 차이를 최대로 - Java //Wello Horld// (0) 2019.12.13 [백준 - 1371번] 가장 많은 글자 - Java //Wello Horld// (0) 2019.12.10 [백준 - 15784번] 질투진서 - Java //Wello Horld// (0) 2019.12.10 [백준 - 10214번] Baseball - Java //Wello Horld// (0) 2019.12.09 [백준 - 10026번] 적록색약 - Java //Wello Horld// (0) 2019.12.09