본문 바로가기

백준/기타 문제

백준 5532 자바

반응형

방학 숙제

문제

상근이는 초등학교에 다닐 때, 방학 숙제를 남들보다 먼저 미리 하고 남은 기간을 놀았다. 방학 숙제는 수학과 국어 문제 풀기이다.

방학은 총 L일이다. 수학은 총 B페이지, 국어는 총 A페이지를 풀어야 한다. 상근이는 하루에 국어를 최대 C페이지, 수학을 최대 D페이지 풀 수 있다.

상근이가 겨울 방학동안 숙제를 하지 않고 놀 수 있는 최대 날의 수를 구하는 프로그램을 작성하시오.

입력

한 줄에 하나씩 총 다섯 줄에 걸쳐 L, A, B, C, D가 주어진다. (2 ≤ L ≤ 40, 1 ≤ A, B ≤ 1000, 1 ≤ C, D ≤ 100)

항상 방학 숙제를 방학 기간내에 다 할 수 있는 경우만 입력으로 주어진다.

출력

첫째 줄에 상근이가 놀 수 있는 날의 최댓값을 출력한다.

예제 입력 1 복사

20
25
30
6
8

예제 출력 1 복사

15

예제 입력 2 복사

15
32
48
4
6

예제 출력 2 복사

7

수를 입력받고 몫, 나머지를 비교하는 방식으로 풀었다.

 

둘 다 나머지가 있는 경우 몫에 +1을 해서 L에서 두 수 중 큰 값을 뺀다.

 

나머지가 없는 경우는 L에서 두 몫 중 큰 값을 뺀다.

 

하나는 나머지가 있고 하나는 없는 경우 나머지가 없는 목과 나머지가 있는 몫 +1을 비교해서 뺀다.

 

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int L = sc.nextInt();
        int A = sc.nextInt();
        int B = sc.nextInt();
        int C = sc.nextInt();
        int D = sc.nextInt();

        int i = A / C;
        int k = B / D;
        int i2 = A % C;
        int k2 = B % D;

        if (i2 > 0 && k2 > 0) {
            int a = i + 1;
            int b = k + 1;
            System.out.println(L - Math.max(a,b) );

        } else if (i2 == 0 && k2 == 0) {

            System.out.println(L - Math.max(i,k) );
        }
       else if ( i2 == 0 && k2 > 0) {
            System.out.println(L - Math.max(i,k+1));
        } else {
            System.out.println(L - Math.max(i+1,k));
        }


    }
}

반응형

'백준 > 기타 문제' 카테고리의 다른 글

백준 10039 자바  (0) 2022.04.09
백준 5575 자바  (0) 2022.04.08
백준 5543 자바  (0) 2022.04.08
백준 11021 자바  (0) 2022.04.06
백준 15894 자바  (0) 2022.04.04