반응형
Notice
Recent Posts
Recent Comments
Link
지구정복
[수학] 백준 - 시험 감독 본문
728x90
반응형
-문제해설
총감독관은 무조건 한명 배치되고 총감독관이 커버하지 못하는 나머지 학생수에 대해서 부감독관이 커버해야 된다.
그래서 총감독관이 감시할 수 있는 학생수는 처음에 빼고 시작한다.
남은 학생수는 부감독관이 감시할 수 있는 학생수로 나누는데 이때 나머지가 있으면 학생수/부감독관 감시수 + 1
나머지가 없다면 학생수/부감독관 감시수 를 해준다.
-자바
package math;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class BJ13458 {
private static BufferedWriter bw =
new BufferedWriter( new OutputStreamWriter(System.out));
private static int n, b, c;
private static long sum;
private static int[] a;
private static StringTokenizer st;
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
n = Integer.parseInt( br.readLine() );
a = new int[n];
st = new StringTokenizer( br.readLine() );
for( int 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() );
for( int i=0; i<n; i++ ) {
a[i] -= b; //총 감독관 수 뺀다.
sum++;
if( a[i] <= 0 ) continue; //더이상 감독받을 학생이 없으면 다음 강의실이동
if( a[i]%c == 0 ) sum += a[i]/c; //학생수가 부감독관 감시수로 나머지가 0이면 나눗셈
else sum += ( a[i]/c ) + 1; //학생수가 부감독관 감시수보다 크거나 작을 경우 나누기 + 1
}
bw.write( sum + "\n" );
bw.flush();
bw.close();
br.close();
}
}
-파이썬
n = int(input())
a = list( map(int, input().split()) )
b, c = map(int, input().split())
sum = 0
for i in range( n ):
a[i] -= b
sum += 1
if a[i]<=0:
continue
if a[i]%c != 0:
sum += ( a[i]//c ) + 1
else:
sum += ( a[i]//c )
print( sum )
728x90
반응형
'데이터 엔지니어링 정복 > Algorithm' 카테고리의 다른 글
[구현] 백준 - 겉넓이 구하기 (0) | 2021.07.20 |
---|---|
[문자열] 백준 - 무한 문자열 (0) | 2021.07.20 |
[그리디, 수학, 구현] 백준 - 전자레인지 (0) | 2021.07.18 |
[수학, 구현] 백준 - 문어 (0) | 2021.07.18 |
[DP] 백준 - 내리막 길 (0) | 2021.07.17 |
Comments