본문 바로가기
IT 톺아보기/알고리즘

[python]백준 13458번 - 시험 감독 (feat. 삼성 SW 역량 테스트 기출 문제)

by 파초우 2021. 11. 30.
반응형

해당 문제는 브론즈 2 수준의 간단한(?) 문제인 것 같다.

 

저는 해당 문제를 주 각 강의실에 주 감독관이 감독할 수 있는 학생의 수를 먼저 제거한 뒤

 

나머지 학생애 대해서 필요한 부 감독관의 수를 구하는 방식으로 풀어 나갔습니다.

 

아래 코드 참조

 

answer = 0
# 입력을 받는 부분
N = int(input())
A = list(map(int, input().split()))
B, C = map(int, input().split())

# 각 강의실 마다 학생 수를 확인하며
for student in A:
    # 먼저 감독관이 감독할 수 있는 학생의 수를 구하고 감독한 학생의 수를 빼준다
    answer += 1
    student -= B
    # 이후에 감독이 필요한 학생이 남는 경우, 부감독관의 수를 구하기 위한 코드
    if student > 0:
        # 나머지가 0이 아닌 경우, 학생수를 부감독관이 감시할 수 있는 학생 수로 나눈 뒤 1을 더해준다.
        if student % C:
            answer += student // C + 1

        # 0인 경우에는 학생수를 부감독관이 감시할 수 있는 학생 수로 나눈 값만 더해준다.
        else:
            answer += student // C
# 정답 출력
print(answer)

 

처음 했을 때는 학생 수가 0이하로 떨어지는 경우를 생각하지 못해 한번 틀렸습니다.

 

문제를 풀때 한번더 생각하는 습관을 들여야 겠습니다.

반응형