[백준] 13458. 시험 감독(브론즈2)

ERror.ASER·2021년 1월 21일
0

백준

목록 보기
1/69
post-thumbnail

백준(브론즈2) - 13458. 시험 감독(브론즈2)



풀이

감독관의 수를 저장하는 값이 너무 커질 수 있으니 int보다는 long을 써야한다! 이것때문에 3번인가 틀렸다ㅠㅠ
변수의 크기 조심하기만 하면 쉽게 풀리는 문제이다.

  1. 총 감독관은 무조건 한명은 들어가게 된다. 그러니 시험장에 총 감독관 1명이 감시할 수 있는 학생의 수를 빼준다.
  2. 1번의 과정을 거친 후, 시험장에 있는 학생의 수가 양수라면 부감독관이 필요하다는 것을 알 수 있다. (학생수/부감독관이 감시가능한 수)의 몫을 count에 더해준다. (학생수/부감독관이 감시가능한 수)의 나머지가 0이 아니라면 부감독관이 한명 더 필요하다는 의미이기 때문에 count에 1을 더해준다.
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();
		int[] rooms = new int[n];
		long count = 0;
		
		for(int i=0; i<n; i++) {
			rooms[i] = sc.nextInt();
		}
		
		int b = sc.nextInt();
		int c = sc.nextInt();
		
		for(int i=0; i<n; i++) {
			count++;
			rooms[i] -= b;//각각의 시험장에 총 감독관이 오직 1명이 있어야한다. 

			if(rooms[i] > 0) {//음수가 아니면, 부감독관이 필요함.
				
				count += (rooms[i]/c);

				if(rooms[i] %c > 0) {
					count++;		
				}
			}
		}
		System.out.println(count);
	}
}
profile
지우의 블로그

0개의 댓글