일단 가장 먼저 성공했던 코드는 다음과 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
days = int(input())
korean = int(input())
maths = int(input())
maxKorean = int(input())
maxMaths = int(input())
if korean % maxKorean != 0:
koreanDays = korean // maxKorean + 1
else:
koreanDays = korean // maxKorean
if maths % maxMaths != 0:
mathsDays = maths // maxMaths + 1
else:
mathsDays = maths // maxMaths
maxDays = max(koreanDays, mathsDays)
print(days - maxDays)
|
cs |
if-else문을 통해서 나머지가 있고 없고에 따라서 처리를 한다.
그런데 이 방법보다 훨씬 쉬운 방법은 math 모듈을 import 해서 ceil() 함수를 사용하는 것이다.
다음과 같은 코드를 사용하면 된다.
1
2
3
4
5
6
7
8
9
10
|
import math
L = int(input())
A = int(input())
B = int(input())
C = int(input())
D = int(input())
k = math.ceil(A / C)
m = math.ceil(B / D)
free = max(k, m)
print(L - free)
|
cs |
문제 출처: 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
'코딩 문제풀이 및 연습 > Python 연습' 카테고리의 다른 글
[백준] 7568_덩치 파이썬 (0) | 2021.09.27 |
---|---|
[백준] 2798_블랙잭 파이썬 (combination함수 vs 3중for문) (0) | 2021.09.26 |
[백준] 2953_나는 요리사다. (0) | 2021.09.21 |
[백준] 2292_벌집 파이썬 (0) | 2021.09.19 |
[백준] 11650_좌표 정렬하기 파이썬 (lambda 활용) (0) | 2021.09.19 |