[백준] 5532

당당·2023년 7월 3일
0

백준

목록 보기
172/179

https://www.acmicpc.net/problem/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

🔍출처

Olympiad > Japanese Olympiad in Informatics > Japanese Olympiad in Informatics Qualification Round > JOI 2013 예선 1번
-문제를 번역한 사람: baekjoon
-빠진 조건을 찾은 사람: edenooo


🧮알고리즘 분류

  • 수학
  • 사칙연산

📃소스 코드

import java.util.Scanner;

public class Code5532 {
    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 korea=0;
        int math=0;
        if(A%C!=0){
            korea=A/C+1;
        }else{
            korea=A/C;
        }

        if(B%D!=0){
            math=B/D+1;
        }else {
            math=B/D;
        }

        if(korea>=math){
            System.out.println(L-korea);
        }
        else{
            System.out.println(L-math);
        }

    }
}

📰출력 결과


📂고찰

만약, A를 C로 나눴을 때, 나머지가 0 아니라면,
국어를 푸는데 걸리는 일 수는 A/C+1
그렇지 않다면, 국어를 푸는데 걸리는 일 수는 A/C

와 같은 식으로 수학도 똑같이 계산하고
수학과 국어를 푸는데 걸리는 일 수 중 더 큰 일수만큼 숙제를 하고, 나머지는 놀 수있다.

profile
MySQL DBA 신입 지원

0개의 댓글