Python3/백준 알고리즘

2022.02.15 [백준] (python 파이썬) 시험 감독

ian's coding 2022. 2. 15. 02:32
728x90
반응형

 

 

 

 

 

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


풀이

코드 풀이

6 : 시험장의 인원이 B보다 작으면 총감독관 혼자 감시가 가능하므로 sum증가시키고 continue해서 다음 반복문으로 넘어감

8 : 만약 시험장의 인원이 B보다 크면 A[i]-=B, sum 1증가. 이유는 총감독관은 한 시험장에 1명만 있을 수 있기 때문에

12 : A[i]-1을 해주는 이유는 A[i]를C으로 나누고 나서 +1을 해줘야 나머지 인원들을 감독할 부감독을 추가 할 수 있다.

만약 -1을 해주지 않는다면 부감독이 감독할 수 있는 인원으로 딱 나눠 떨어질 때도 +1이 되기 때문에 딱 나눠 떨어지는 경우를 고려해서 -1을 해주는 것이다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
N=int(input())
A=list(map(int,input().split()))
B,C=map(int,input().split())
sum=0
for i in range(len(A)):
    if A[i]<B:
        sum+=1
        continue
    else:
        A[i]-=B
        sum+=1
    viewer2=(A[i]-1)//C+1
    sum+=viewer2
print(sum)
cs

 

 

 

 

728x90
반응형