본문 바로가기

환영합니다. 이 블로그 번째 방문자입니다.
Python/문제풀이

[2] 백준 13458번: 시험감독

{ 문제 }

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


{ 40분 무코딩 로직 사고}

나눗셈 문제

결과 : 2분 문제 이해 + 4분 문제 로직 생각

 

 

 

{ 코드 구현 }

 

import math

N = int(input())
A = list(map(int, input().split()))
B, C = map(int, input().split())

judges = [0 for i in range(N)] 

for i in range(N):
    while A[i] > 0:
        if judges[i] == 0:
            judges[i] +=1
            A[i] = A[i] - B
        else:
            judges[i] += math.ceil(A[i]/C)
            A[i] -= math.ceil(A[i]/C)*C

print(sum(judges))

 

 

{ 학습 내용 }

 

1. 한 줄에 정수 배열 입력 : list(map(int, input().split()))
2. 배열 초기화 : [0 for i in range(N)]
3. 올림 함수 : math.ceil()