문제
주어진 순서대로 일을 처리할 것이다.
시간과 일마다 필요한 시간이 주어질 때, 몇 번째 작업까지 완료할 수 있는가?
풀이
주어진 시간과 비교해 이 시간보다 작거나 같으면서 가장 많은 작업을 완료해야 한다.
for문으로 전체에서 뒤에서부터 작업을 하나씩 제외하면서 합을 구하는 방식으로 문제를 해결한다.
이 경우 주어진 시간보다 작거나 같아지는 최초의 순간에 반복을 멈추고 결과를 출력한다.
코드
n,t=map(int, input().split())
works=list(map(int, input().split()))
for i in range(n,-1,-1):
if sum(works[:i])<=t:
print(i)
break
'BOJ > Python' 카테고리의 다른 글
[BOJ/백준] 10539 - 수빈이와 수열 (Python) (1) | 2024.11.14 |
---|---|
[BOJ/백준] 10419 - 지각 (Python) (1) | 2024.11.14 |
[BOJ/백준] 9501 - 꿍의 우주여행 (Python) (0) | 2024.11.14 |
[BOJ/백준] 23971 - ZOAC 4 (Python) (0) | 2024.11.13 |
[BOJ/백준] 4435 - 중간계 전쟁 (Python) (0) | 2024.11.13 |