https://www.acmicpc.net/problem/16493
16493번: 최대 페이지 수
첫째 줄에 N(1 ≤ N ≤ 200)과 챕터의 수 M(1 ≤ M ≤ 20)이 주어진다. 둘째 줄부터 각 챕터 당 읽는데 소요되는 일 수와 페이지 수가 주어진다. 소요되는 일 수는 20보다 작거나 같은 자연수이고, 페이
www.acmicpc.net
나의 코드
N, M = map(int, input().split())
arr = [list(map(int, input().split())) for _ in range(M)]
def maxpage(level, day, sum_page):
if day <= N:
ans.append(sum_page)
if level == M:
return
maxpage(level+1, day+arr[level][0], sum_page+arr[level][1])
maxpage(level+1, day, sum_page)
ans = []
maxpage(0, 0, 0)
print(max(ans))
결과

재귀로 모든 경우의 수를 찾아보며 조건에 맞는 값을 구할 수 있었다.
'스터디 1일 1커밋' 카테고리의 다른 글
| 240405 [BOJ/백준] 11399. ATM (0) | 2024.04.05 |
|---|---|
| 240404 [BOJ/백준] 1463. 1로 만들기 (0) | 2024.04.04 |
| 240331 [BOJ/백준] 2805. 나무 자르기 (1) | 2024.03.31 |
| 240328 [BOJ/백준] 12789. 도키도키 간식드리미 (0) | 2024.03.28 |
| 240327 [BOJ/백준] 9934. 완전 이진 트리 (0) | 2024.03.27 |