본문 바로가기

Java/코딩테스트

[백준/Bronze II] 시험 감독 - 13458

  • 문제 링크: https://www.acmicpc.net/problem/13458
  • 시간:  420ms
  • 메모리:  92244KB
  • 올림 계산 공식: (나눌 값 + 나누는 값 - 1) / 나누는 값
    • ex1: (23 + 10 - 1) / 10 = 3 (그냥 나누면 2.3 -> 사람은 소수가 안 되니까 3명 필요)
    • ex2: (30 + 10 - 1) / 10 = 3 (딱 나눠 떨어지는 값도 정확하게 계산 됨)
import java.util.*;
import java.io.*;

public class B13458 {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());

        int[] A = new int[N];
        StringTokenizer st = new StringTokenizer(br.readLine());
        for (int i = 0; i < N; i++) {
            A[i] = Integer.parseInt(st.nextToken());
        }

        st = new StringTokenizer(br.readLine());
        int B = Integer.parseInt(st.nextToken());
        int C = Integer.parseInt(st.nextToken());

        long answer = 0;
        for (int i = 0; i < N; i++) {
            answer++;
            int rest = A[i] - B;
            if (rest > 0) answer += (rest + C - 1) / C; // 올림 계산
        }
        System.out.println(answer);
    }
}
반응형