[백준(Baekjoon)][자바(java)] [삼성 SW 역량 테스트 기출 문제] 13458 : 시험 감독

728x90

 

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

 

문제 풀이

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

public class Main {

	public static void main(String[] args) throws Exception {
		
		BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
		int n = Integer.parseInt( br.readLine() ), a[] = new int[n], b, c, i;
		StringTokenizer st = new StringTokenizer( br.readLine() );
		for( i = 0; i < n; i++ )
			a[i] = Integer.parseInt( st.nextToken() );
		st = new StringTokenizer( br.readLine() );
		b = Integer.parseInt( st.nextToken() );
		c = Integer.parseInt( st.nextToken() );
		br.close();
		
		long r = (long)n;  // result
		int m;
		for( i = 0; i < n; i++ ) {
			m = a[i];
			m -= b;
			if( m <= 0 )
				continue;
			r += m / c;
			if( m % c > 0 ) 
				res++;
		}
		
		System.out.println( r );
	}
}

*  일단 총 감독관은 각 시험장에 1명씩만 들어갈 수 있고, 각 시험장에는 최소 1명의 학생이 있으므로
   최소 감독관의 수( r )는 시험장의 개수( n )로 초기화 

*  각 시험장에 있는 응시자의 수를 담은 배열 a[]을 순차적으로 탐색
  -  각 시험장에 있는 응시자의 수( m = a[i] )에서 총감독관이 한 시험장에서 감시할 수 있는 응시자의 수 b 를 뺀 후
     남은 학생들이 있을 경우, 부감독관이 한 시험장에서 감시할 수 있는 응시자의 수가 c 를 나누어 더해줌

 

 

반응형