jyamethyst21 님의 블로그

백준 5532번 - '방학 숙제' (PYTHON 풀이) 본문

CODING 💻

백준 5532번 - '방학 숙제' (PYTHON 풀이)

jyamethyst21 2026. 4. 9. 09:25

문제:

 

방학 기간, 풀어야 하는 국어·수학 총 페이지, 하루에 풀어야 하는 각 과목의 페이지 수가 주어질 때, 놀 수 있는 최대 일수를 구하는 문제이다.

 

풀이:

import math

L = int(input())
A = int(input())
B = int(input())
C = int(input())
D = int(input())

sub_ko = math.ceil(A/C)
sub_math = math.ceil(B/D)
print(L-max(sub_ko, sub_math))

 

올림을 위해 math 라이브러리를 import하고 각 변수에 방학 일 수, 각 과목의 총 페이지, 하루에 풀어야하는 페이지를 입력받는다.

이후 ceil(올림해주는 함수)을 활용해서 각 과목별 총 페이지/하루에 풀어야 하는 페이지의 올림인 수를 sub_ko, sub_math 변수에 담는다. 

여기까지 과정을 거치면 해당 변수에, 각 과목의 문제를 전부 풀었을 때 가장 많이 쉴 수 있는 날이 구해질 것이다. 이 중 우리는 최대값을 구해야 한다. 그 이유는 최대로 쉴 수 있는 방학 일 수를 구하는 문제이고, 문제를 전부 다 풀어야 한다. 문제를 다 풀려면 결국 두 변수 중 큰 값만큼의 시간이 드는 것이므로 해당 수를 구해서 총 방학 일수에서 빼면 된다.

그리고 바로 그 값을 출력하면 문제를 풀 수 있다.