728x90
문제
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
N명의 개발자가 시간 s부터 t까지 b개의 컴퓨터를 사용하려고 할 때, 모든 개발자가 무리 없이 일을 하기 위해 필요한 컴퓨터의 최소 개수를 구하는 문제다.
코드
첫 번째 줄에 정수 n이 주어지고, 두 번째 줄부터 n개의 줄에 걸쳐 s, t, b가 공백(" ")으로 구분되어 주어진다.
- 1 <= N <= 100
- 1 <= s < t <= 1000
- 1 <= b <= 10
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringTokenizer st;
// 시간 별 가동중인 컴퓨터를 담기 위한 배열
int[] computers = new int[1001];
for (int i = 0; i < n; i++) {
st = new StringTokenizer(br.readLine());
int start = Integer.parseInt(st.nextToken());
int end = Integer.parseInt(st.nextToken());
int computer = Integer.parseInt(st.nextToken());
// start부터 end까지 입력받은 컴퓨터 더하기
for (int j = start; j <= end; j++) {
computers[j] += computer;
}
}
// 배열 정렬 후 마지막 인덱스 출력
Arrays.sort(computers);
System.out.println(computers[computers.length - 1]);
}
}
728x90