알고리즘(백준, 프로그래머스)/[백준] BronzeⅣ

[백준 5532 / 파이썬 / BronzeⅣ / sloved.ac] 방학 숙제

마법사 코딩공주 2022. 11. 24. 12:53
728x90
반응형

https://www.acmicpc.net/problem/5532

 

5532번: 방학 숙제

한 줄에 하나씩 총 다섯 줄에 걸쳐 L, A, B, C, D가 주어진다. (2 ≤ L ≤ 40, 1 ≤ A, B ≤ 1000, 1 ≤ C, D ≤ 100) 항상 방학 숙제를 방학 기간내에 다 할 수 있는 경우만 입력으로 주어진다.

www.acmicpc.net

문제

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

방학은 총 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

풀이 : 

L = int(input()) # 방학일 수
A = int(input()) # 총 국어 페이지
B = int(input()) # 총 수학 페이지
C = int(input()) # 하루 국어 최대 풀 수 있는 페이지
D = int(input()) # 하루 수학 최대 풀 수 있는 페이지

# 해당 문제의 조건이 True일 경우 실행
if (2 <= L <= 40) and (1 <= A) and (B <= 1000) and (1 <= C,D <= 100):
    kor_day = A // C
    if A % C != 0:
        kor_day += 1
    math_day = B // D
    if B % D != 0:
        math_day += 1
    day = L - (max(kor_day, math_day))
    print(day)
728x90
반응형