정보은행 올림피아드지점에는 창구가 하나 있다. 손님은 은행에 들어오면 번호표를 뽑은 후 대기석에서 자기 차례가 오기를 기다린다.
각 고객이 뽑은 번호표와 도착 시각 및 은행 업무 시간을 입력 받아서 전체 고객의 평균대기시간을 출력하는 프로그램을 작성하시오.
예를 들어, 영희는 시각 4초에 은행에 도착하여 1번 번호표를 받았다. 은행에는 대기자가 아무도 없었기 때문에 대기시간 없이 20초 동안 은행 업무를 보았다. 그 사이 철수는 시각 10초에 도착하여 2번 번호표를 받았다. 철수는 영희가 업무를 보고 난 후에야 창구에서 은행 업무를 볼 수 있어 철수의 대기시간은 14초이고 따라서 평균 대기시간은 (0+14)/2 = 7초이다.
답
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt();
int arr[] = new int[2];
int sum = 0;
float hold = 0;
float x = 0;
for (int i = 0; i < m; i++) {
int n = scanner.nextInt();
x = n;
for (int j = 0; j < arr.length; j++) {
arr[j] = scanner.nextInt();
}
if (n == 1) {
sum = arr[0] + arr[1];
} else {
if (arr[0] < sum) {
hold += sum - arr[0];
sum += arr[1];
} else {
sum = arr[0] + arr[1];
}
}
}
float dap = hold / x;
System.out.printf("%.1f", dap);
}
문제 http://59.23.150.58/30stair/bank1/bank1.php?pname=bank1
답
import java.util.Scanner;
public class Main { public static void main(String args[]) {
}