https://www.acmicpc.net/problem/18110
18110번: solved.ac
5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다.
www.acmicpc.net
풀이
구현문제로써 반올림을 구현하여 문제를 풀어주었습니다.
주의: round()를 쓰면 안됩니다. round()는 정확한 반올림을 해주는 함수가 아닙니다.
코드
# 18110번 solved.ac
import sys
def banollim(n):
if n - int(n) >= 0.5:
return int(n)+1
return int(n)
t = int(input())
if t == 0:
print(0)
else:
cutline = t * 15/100
cutline = banollim(cutline)
estimations = [int(sys.stdin.readline()) for _ in range(t)]
estimations.sort()
print(banollim(sum(estimations[cutline:t-cutline]) / (t - cutline*2)))
출력결과
'백준 > 구현' 카테고리의 다른 글
[백준][Python] 11653번 소인수분해 - 코팩 (0) | 2023.08.14 |
---|---|
[백준][Python] 1002번 터렛 - 코팩 (0) | 2023.08.07 |
[백준][Python] 1236번 성 지키기 - 코팩 (0) | 2023.08.01 |
[백준][Python] 11478번 서로 다른 문자열의 개수 - 코팩 (1) | 2023.05.08 |
[백준][Python] 7785번 회사에 있는 사람 - 코팩 (0) | 2023.05.08 |