메이쁘

(JAVA) 백준 13458번 : 시험 감독 본문

Algorithm/Baekjoon

(JAVA) 백준 13458번 : 시험 감독

메이쁘 2020. 4. 23. 23:10

https://www.acmicpc.net/problem/13458

 

13458번: 시험 감독

첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000)

www.acmicpc.net

 

 

삼성 SW 역량 테스트 기출 문제 중 하나이다.

 

간단하게 생각하면 된다.

 

 

 

 

짚고 가야할 것

 

 

 

1. 100000개 시험장, 1 ~ 1000000명 감독 가능, 1 ~ 1000000 명 응시 하므로 1,000,000 * 1,000,000 이 가능할 수도 있다. 따라서 count를 저장하는 변수 타입 long 을 사용하자.

 


2. 총감독관은 1명, 부감독관은 여러 명 가능 => 총감독관이 무조건 필요한가?  : YES. 총감독관은 무조건 1명.

 

 

3. int 배열 생성해서 for문 돌리자. 이 때, 부감독관 감시 가능 인원을 계산한다.

*** 시험장 인원 - 총감독관 감시 인원 / 부감독관 감시 가능 인원 = 부감독관 수

 

 

4. 13 / 4 = 3 ... 1 과 같이 나머지가 존재하는 경우 무조건 부감독관 한 명 더 사용해야한다.

 

 

 

 

*** 실행 속도를 좀 더 줄여보고 싶을 때

입력 값에서 3번 째 줄(총감독관, 부감독관 감시 인원) 을 먼저 파악한 후 

2번째 줄 입력 값 for문 시 하나하나 바로 계산해버리자.

 

 

 

감사합니다.

 

 

소스코드


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

// 시험 감독
// 삼성 기출
public class p13458 {
	public static void main(String args[]) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		int n = Integer.valueOf(st.nextToken());
		int[] testPlaces = new int[n];
		
		long count = 0;
		st = new StringTokenizer(br.readLine());
		StringTokenizer st2 = new StringTokenizer(br.readLine());
		int a = Integer.valueOf(st2.nextToken());
		int b = Integer.valueOf(st2.nextToken());
		
		for(int i = 0; i < n; i++) {
			int people = Integer.valueOf(st.nextToken());
			testPlaces[i] = people;
			
			// 총 감독관 배치
			int rest = testPlaces[i] - a;
			count++;
			
			// 부 감독관 배치
			if(rest > 0) {
				count += rest % b == 0 ? rest / b : (rest / b) + 1;  
			}
		}
		System.out.println(count);
	}
}

'Algorithm > Baekjoon' 카테고리의 다른 글

(JAVA) 백준 15683번 : 감시  (0) 2020.04.26
(JAVA) 백준 1062번 : 가르침  (0) 2020.04.26
(JAVA) 백준 2161번 : 카드1  (0) 2020.04.23
(JAVA) 백준 5543번 : 상근날드  (0) 2020.04.23
(JAVA) 백준 9324번 : 진짜 메세지  (0) 2020.04.22
Comments