본문 바로가기
Algorithm

[구현/수학] 백준 13458 시험 감독 - Python

by jangThang 2022. 1. 19.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    13458번: 시험 감독

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

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     N개의 시험장에 배치할 최소 감독관 수를 구하는 문제입니다. 시험장에는 1명의 총감독관이 입실하며, 필요에 따라 부감독관이 추가로 입실합니다. 총감독관은 수험생 B명을, 부감독관 당 수험생 C명을 감독가능합니다.

     

    2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학

     

    [Algorithm] 단골 1번 문제, 구현 / 수학

    1. 구현  단순히 '구현'만 하면 되는 문제 유형입니다. 문제를 이해하고 입력에 맞춰 적절한 출력만 하면 됩니다. 특별한 알고리즘이나 프로그래밍적 기법 없이, 단순 제어문만 사용하여 해결할

    star7sss.tistory.com

     시험장 인원 수대로 감독관을 배치하는 단순한 구현/수학 문제입니다. 먼저 총감독관 1명만 배치해도 되는지 확인하고, 부족하다면 부감독관이 몇 명이나 더 필요한지 판별하면 됩니다.

     

     

     

    3. 코드

    N = int(input())
    A = list(map(int,input().split()))
    B, C = map(int, input().split())
    
    master = N
    sub = 0
    for i in A:
        if i-B > 0:
            sub += (i-B)//C
            if (i-B) % C != 0:
                sub += 1
    print(master+sub)

     먼저, 총감독관이 감독할 수 있는 인원보다 더 많은 지 판별합니다. [ if i-B > 0 ]

     더 많다면, 부감독관이 몇 명이나 더 필요한지 구합니다. [ sub += (i-B)//C ]

     주의할 점은 // 연산자는 나머지를 제외한 몫만 구해줍니다. 나머지가 있을 경우 부감독관이 1명 더 필요합니다. 따라서 나머지가 0이 아닐 경우 부감독관을 한 명 더 추가합니다.

     

     

    반응형

    댓글