반응형
해당 문제는 브론즈 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이하로 떨어지는 경우를 생각하지 못해 한번 틀렸습니다.
문제를 풀때 한번더 생각하는 습관을 들여야 겠습니다.
반응형
'IT 톺아보기 > 알고리즘' 카테고리의 다른 글
[백준 15686번 | 삼성 SW 역량 테스트 기출] 치킨 배달 - python (0) | 2022.09.01 |
---|---|
백준 1991번 트리 순회 - python (0) | 2022.07.26 |
백준 2004번 조합 0개의 개수 - python (0) | 2022.06.20 |
[python]백준 21610번 - 마법사 상어와 비바라기 (feat. 삼성 SW 역량 테스트 기출 문제) (0) | 2021.12.02 |
[python]백준 14888번 - 연산자 끼워넣기(feat. 삼성 SW 역량 테스트 기출 문제) (0) | 2021.12.02 |