2021. 5. 22. 18:22ㆍ알고리즘/백준
문제
당신은 FCFS(First-Come, First-Served)의 규칙에 따라 요청된 일을 처리하는 서버를 담당하게 되었다.
매일, 당신은 일을 처리하기 위해 최대 T분 동안 서버에 시간을 할당할 수 있다.
당신은 오늘 주어진 시간동안 몇개의 일이 완료될 수 있는지 알고싶다.
예시를 들어보겠다. T = 180이고, 요청된 일들의 수행시간이 요청된 순으로 각각 45, 30, 55, 20, 80, 20분이다.
그러면, 단 4개의 일만이 완료될 수 있다.
처음 4개의 일의 수행시간은 150분으로 주어진 시간 내에 완료될 수 있지만,
처음 5개의 일의 수행시간은 230분으로 주어진 시간 180분보다 크기 때문에 완료될 수 없다.
처음 4개의 일을 수행한 뒤 6번째의 일을 수행해도 T를 초과하지 않지만 5번째 일을 수행할 수 없기 때문에 6번째 일을 수행할 수 없음을 참고해라.
입력
첫 줄은 두 정수 n과 T이며 (1 ≤ n ≤ 50, 1 ≤ T ≤ 500) n은 일의 개수를 나타낸다.
두 번째 줄은 n개의 100 이하인 자연수가 입력되며, 입력된 각 일의 수행 시간을 나타낸다.
출력
일이 First-come, First-served 규칙에 따라 처리될 때, T분 안에 완료될 수 있는 일들의 개수를 출력하라.
입출력 예제
입력 | 출력 |
6 180 45 30 55 20 80 20 |
4 |
10 60 20 7 10 8 10 27 2 3 10 5 |
5 |
🌈 문제 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import java.util.Scanner;
public class No10409_Server {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int T = sc.nextInt();
int sum = 0;
int count = 0;
for (int i = 0; i < n; i++) {
int t = sc.nextInt();
if (sum + t > T) {
System.out.println(count);
return;
}
sum += t;
count++;
}
System.out.println(count);
sc.close();
}
}
|
cs |
👩💻 풀어보기 👨💻 https://www.acmicpc.net/problem/10409
10409번: 서버
당신은 FCFS(First-Come, First-Served)의 규칙에 따라 요청된 일을 처리하는 서버를 담당하게 되었다. 매일, 당신은 일을 처리하기 위해 최대 T분 동안 서버에 시간을 할당할 수 있다. 당신은 오늘 주어
www.acmicpc.net
'알고리즘 > 백준' 카테고리의 다른 글
[백준 알고리즘] 1436번 / 영화감독 숌 (0) | 2021.05.30 |
---|---|
[백준 알고리즘] 5522번 / 카드 게임 (0) | 2021.05.29 |
[백준 알고리즘] 6359번 / 만취한 상범 (0) | 2021.05.20 |
[백준 알고리즘] 10699번 / 오늘 날짜 (0) | 2021.05.13 |
[백준 알고리즘] 2490번 / 윷놀이 (0) | 2021.05.13 |