본문 바로가기
BOJ

[C] 백준 13458번: 시험 감독

by 야호호코코 2018. 8. 12.
반응형

 되게 오랜만에 백준을 풀고 쓰는 글이다. 방학의 휴식과 개인적인 일을 하다보니 공부가 소홀해졌다. 앞으로는 하루에 하나씩이라도 풀어나가야겠다.


 시험 감독의 핵심은 연산 중에 총감독관의 할당량을 계산하고 음수가 되는 상황을 처리하는 것이다. 이것을 찾지 못하면 능구렁이에 빠진 것 마냥 문제를 해결하지 못할 수도 있다. 내가 그랬다. 


 그래서 인지 정답 비율도 낮다. 한 열흘간 굳어버린 나의 뇌를 깨우는데 좋은 문제였다.


 


입출력 예시




정답 코드

#include <stdio.h>

int main() {

	long long N;

	long long *A;
	long long B, C;	// 총감독, 부감독

	long long B_count = 0, C_count = 0;

	scanf("%lld", &N);

	A = new long long[N];

	for (int i = 0; i < N; i++) {
		scanf("%lld", &A[i]);
	}

	scanf("%lld %lld", &B, &C);

	for (int i = 0; i < N; i++) {

		B_count++;

		A[i] -= B;

		if (A[i] <= 0) continue;

		C_count += A[i] / C;

		if (A[i] % C) C_count++;

	}

	printf("%lld", B_count + C_count);

	return 0;

}


코드 설명


1. 총 강의실의 갯수 N, 강의실 당 응시자 수, 총감독의 할당 응시자 수, 부감독의 할당 응시자 수를 입력받는다.


2. 각 강의실 별로 들어갈 감독의 수를 계산한다. 총감독은 무조건 강의실 당 1명이므로 B_count(총감독의 수)를 1증가 시키고, 해당 강의실의 응시자 수를 총감독의 할당 응시자 수 만큼 빼준다. 그럼 남은 응시자 수가 부감독의 할당 응시자 수이다. 만약 남은 응시자 수가 0이하의 정수로 나오면 부감독은 필요없으므로 continue 해준다. 부감독의 수는 남은 응시자 수에 부감독의 할당 응시자수를 나눈 몫에 만약 나머지가 있다면 1을 더해준 결과이다.


3. 총감독의 수 + 부감독의 수를 더해준다.

반응형

'BOJ' 카테고리의 다른 글

[C] 백준 1620번: 나는야 포켓몬 마스터 이다솜  (0) 2018.10.26
[C] 백준 1205번: 등수 구하기  (0) 2018.07.31
[C] 백준 9012번: 괄호  (0) 2018.07.29