문제
두 개의 바구니에 사과와 오렌지가 있다. 첫 번째 바구니에는 사과 A개와 오렌지 B개가 있으며 두 번째 바구니에는 사과 C개와 오렌지 D개가 있다.당신은 한 바구니에 있는 과일 하나를 집어서 다른 바구니로 옮길 수 있다. 이런 식으로 과일을 옮길 때, 한 바구니에는 사과만 있게 하고 다른 쪽에는 오렌지만 있게 하려고 한다.
앞서 말한 조건을 만족하도록 과일을 옮길 때, 과일을 옮기는 최소 횟수를 구하는 프로그램을 작성하여라.
입력
첫 번째 줄에는 첫 번째 바구니에 있는 사과와 오렌지의 수 A, B가 주어진다. (0 ≤ A, B ≤ 1,000)두 번째 줄에는 두 번째 바구니에 있는 사과와 오렌지의 수 C, D가 주어진다. (0 ≤ C, D ≤ 1,000)
출력
사과와 오렌지를 옮기는 최소 횟수를 출력한다.
import java.util.Scanner;
public class baek_11943 {
/**
* 파일 옮기기
*/
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
/** [A 그룹] */
int A = scan.nextInt();
int B = scan.nextInt();
/** [B 그룹] */
int C = scan.nextInt();
int D = scan.nextInt();
// 경우의 수는 두 개 뿐이다
// 1. A그룹의 사과 옮기기 + B그룹의 오렌지 옮기기 = (A + D)
// 2. A그룹의 오렌지 옮기기 + B그룹의 사과 옮기기 = (B + C)
// 즉 두 경우의 수 중 최소값이 답이다.
int res = Math.min(A + D, B + C);
System.out.println(res);
}
}