BOJ/Python
[BOJ/백준] 10409 - 서버 (Python)
tjdms4327
2024. 11. 14. 11:14
문제
주어진 순서대로 일을 처리할 것이다.
시간과 일마다 필요한 시간이 주어질 때, 몇 번째 작업까지 완료할 수 있는가?
풀이
주어진 시간과 비교해 이 시간보다 작거나 같으면서 가장 많은 작업을 완료해야 한다.
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