728x90
반응형
문제
https://www.acmicpc.net/problem/13458
풀이 방법
문제는 시험을 보는 반의 개수가 주어지고, 각 반에 학생이 몇명 있는지 주어진다.
총감독과 부감독이 존재하는데 총감독은 1명만 존재해야하고 부감독은 여러명 존재할 수 있다.
총감독이 감시할 수 있는 학생수와 부감독이 감시할 수 있는 학생수가 주어졌을 때 모든 학생을 감시하기 위한 최소 감독 수를 구하는 문제다.
다음과 같은 순서로 풀이했다.
1. N번째 반에서 총 감독관 1명이 존재하므로 sum에 1를 더해준다.
2. 총감독이 감시할 수 있는 학생수를 기존의 학생수에서 빼준다.
3. 남은 학생수가 양수라면 부감독이 감시가능한 학생수를 나눠서 딱 나누어떨어진다면 그 값을, 아니면 1을 더해서 sum에 더해준다.
4. 반의 개수만큼 반목문을 돌고 sum을 출력해준다.
제출 코드
import java.io.*;
public class BJ_13458_시험감독 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] arr =new int[N];
String[] str = br.readLine().split(" ");
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(str[i]);
}
String[] t = br.readLine().split(" ");
int B = Integer.parseInt(t[0]);
int C = Integer.parseInt(t[1]);
long sum = 0;
for (int i = 0; i < N; i++) {
int n = arr[i];
sum++; //총감독관 1명 추가
n = n-B; //총감독이 볼 수 있는 학생수 빼주기
if(n>0) sum+= n % C == 0? n/C: n/C + 1; //감시해야할 학생이 남아있는 경우 부감독 수 구하기
}
System.out.println(sum);
}
}
728x90
반응형
'알고리즘 > BJ' 카테고리의 다른 글
[BJ] 백준 1012 유기농 배추 (JAVA) (0) | 2022.03.30 |
---|---|
[BJ] 백준 1065 한수 (JAVA) (0) | 2022.03.28 |
[BJ] 백준 8958 OX퀴즈 (JAVA) (0) | 2022.03.25 |
[BJ] 백준 3052 나머지 (JAVA) (0) | 2022.03.24 |
[BJ] 백준 2193 이친 수 (JAVA) (0) | 2022.03.21 |