본문 바로가기
Coding Test/BOJ

[백준] 13458 - 시험 감독 [Python(파이썬)]

'삼성 SW 역량 테스트' 기출 문제 입니다. 😀
문제 👉 13458번: 시험 감독

1. 문제

  1. 총 N개의 시험장이 있고, 시험장에는 여러 응시자와 총감독관 및 부감독관이 존재할 수 있다.
  2. 각 시험장에는 응시자의 수 Ai와 필수적으로 1명의 총감독관이 필요하다. (부감독관은 필수X)
  3. 총 감독관이 감시할 수 있는 응시자는 B명, 부 감독관은 C명이다.
  4. 총 감독관은 각 시험장에 오직 1명이다.
  5. 각 시험장마다 응시생을 모두 감독하기 위해 필요한 감독관의 최소 수를 출력한다.

2. 풀이

수학을 이용한 문제 풀이

  1. 각 시험장의 응시생에서 기본적으로 1명의 총 감독관이 감시할 수 있는 B를 뺀다. (총 감독관 1명은 필수)
    Ai - B
  2. 나머지 응시생을 C로 나눈 후 나머지가 있을 경우 1을 더하여 각 시험장에 필요한 감독관 수를 구한다.

3. 코드

def solution():
    N = int(input())
    A = list(map(int, input().split()))
    B, C = map(int, input().split())
    ret = 0

    for i in range(N):
        if A[i] > B:
            div, mod = divmod((A[i]-B), C)
            if mod == 0:
                ret += div+1
            else:
                ret += div+2
        else:
            ret += 1
    return ret

print(solution())
  • 결과는 700 ms 나왔다.

References

  •  

🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋

댓글