[백준] 시험 감독 Java

dustle·2023년 3월 27일
1

시험 감독

동전 수 세는 문제랑 비슷합니다.
감독이 1명 필수로 들어가고 사람이 남으면 부감독이 들어갑니다.
문제 범위를 보고 long 인지 int인지 판별해야 합니다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static long rsl = 0;
    public static long[] supervisor = new long[2];
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;

        int N = Integer.parseInt(br.readLine());

        long[] testRooms = new long[N];
        st = new StringTokenizer(br.readLine());
        for(int i =0; i < N; i++){
            testRooms[i] = Long.parseLong(st.nextToken());
        }

        st = new StringTokenizer(br.readLine());

        for(int i=0; i<2; i++){
            supervisor[i] = Integer.parseInt(st.nextToken());
        }

        for(long testRoom : testRooms){
            solve(testRoom);
        }
        System.out.println(rsl);
    }

    private static void solve(long testRoom) {
        testRoom -= supervisor[0];
        rsl += 1;

        if(testRoom > 0){
            long tmp = testRoom / supervisor[1];
            rsl += tmp;
            if(testRoom % supervisor[1] != 0) rsl += 1;
        }
    }
}

0개의 댓글