[백준/JAVA] 11943번 파일 옮기기

정은아·2024년 4월 18일

[알고리즘] 수학 모음

목록 보기
50/152
post-thumbnail

문제

내 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main extends Exception {
    public static void main(String[] args) throws IOException {
        // 한 바구니에 사과 A, 오렌지 B개가 있다.
        // 다른 바구니에 사과 C, 오렌지 D개가 있다.
        // 한 바구니에서 과일 하나씩만 옮길 수 있을 때, 몇 번 움직여야 하는가

        // 테스트케이스를 입력받는다.
        // A+D와 B+C의 최소값을 구한다.

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st = new StringTokenizer(br.readLine());

        int A = Integer.parseInt(st.nextToken());
        int B = Integer.parseInt(st.nextToken());

        st = new StringTokenizer(br.readLine());

        int C = Integer.parseInt(st.nextToken());
        int D = Integer.parseInt(st.nextToken());

        int answer = Math.min((A+D),(C+B));

        sb.append(answer);

        System.out.println(sb.toString());

    }
}

느낀점

바구니 속 사과는 A,D이고 오렌지는 B,C이다
첫 번째 바구니의 사과를 두 번째 바구니로 옮기거나,
두 번째 바구니의 사과를 첫 번째 바구니로 옮기는 방법 2가지만 존재하기 때문에
(A+D)와 (C+B) 중 최소값을 출력하면 된다.

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글