출처 : 백준, https://www.acmicpc.net/problem/13458
13458번: 시험 감독
첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000)
www.acmicpc.net
더보기
풀이
import sys
def input():
return sys.stdin.readline().rstrip()
def solution(n, student_list, main, sub):
answer = 1
for student in student_list:
mok, left = divmod(student - main if student - main >= 0 else 0, sub)
answer += mok if left == 0 else mok + 1
return answer
n = input()
student_list = list(map(int, input().split()))
main, sub = map(int, input().split())
print(solution(n, student_list, main, sub))
알게 된 점
음수의 나머지를 구할 경우에도 값이 생성된다.
위 문제가 어려웠던 이유는 학생 수에서 총 감독관이 관리할 수 있는 학생을 뺐을 때, 음수가 될 수 있음을 간과하였기 때문이다.
앞으로 문제를 풀기 전에 음수가 될 수 있는 경우가 있는지 확인하며 주의하자.
Github
GitHub - bh2980/Algorithm-Problem: 알고리즘 풀이 흔적들
알고리즘 풀이 흔적들. Contribute to bh2980/Algorithm-Problem development by creating an account on GitHub.
github.com
'알고리즘 > Python' 카테고리의 다른 글
[python] 백준 14891 - 톱니바퀴 (0) | 2023.04.04 |
---|---|
[python] 백준 14503 - 로봇 청소기 (0) | 2023.04.04 |
[python] 프로그래머스 - 하노이의 탑 (0) | 2023.03.11 |
[python] 프로그래머스 - 두 큐 합 같게 만들기 (0) | 2023.03.10 |
[python] 프로그래머스 - 괄호 변환 (0) | 2023.03.10 |