728x90
https://www.acmicpc.net/problem/13458
문제 접근
- 교실별 필요한 감독관수를 구해서 더해주었음
작성한 코드
n = int(input())
#시험장별 학생 수
num = list(map(int, input().split()))
B, C = map(int, input().split())
#총 감독관 수와 부 감독관 수
viewer = 0
for i in range(n):
#시험장별 감독관 수
viewer += 1
#교실당 감시 가능한 수
can_view = B
while num[i] > can_view:
viewer += 1
can_view += C
print(viewer)
결과는 시간초과..
범위가 10^6이라 for문안에 while문을 넣는식으로는 값이 커졌을 때 감당이 안되는 모양...
고민해보다 결국 다른사람 코드 참조
n = int(input())
#시험장별 학생 수
num = list(map(int, input().split()))
B, C = map(int, input().split())
#총 감독관 1명씩 배치
viewer = n
for i in num:
i -= B
if i > 0:
# 감시해야하는 학생이 부 감독관이 감시할 수 있는 수로 나누어떨어지지 않으면 부감독을 1명 더 배치
if i % C != 0:
viewer += (i // C) + 1
else:
viewer += (i//C)
print(viewer)
위에까진 어렵지 않았는데 주석문 아래 나머지로 처리하는게 익숙하지 않았다...매번 반복문으로 1명씩 찾다보니..
이 기회에 좀 더 유동적으로 생각해보자
출처
https://wook-2124.tistory.com/459
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
백준 - 3085(사탕 게임, 파이썬) (0) | 2023.07.28 |
---|---|
백준 1012 - 유기농 배추(파이썬) (0) | 2023.07.25 |
백준 - 14888(연산자 끼워넣기, python) (0) | 2023.06.18 |
백준-14501(퇴사, python) (0) | 2023.06.18 |
백준 - 11651(좌표 정렬하기, python) (0) | 2023.06.18 |