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