Hikenny25

18110 - solved.ac 본문

baekjoon (solved.ac)/class 2 AllSolve

18110 - solved.ac

hikenny 2023. 12. 8. 20:40

https://www.acmicpc.net/problem/18110

 

18110번: solved.ac

5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다.

www.acmicpc.net

 

오랜만에 들어가봤는데 새로운 문제가 추가돼서 풀어보앗다..

 

import sys
input = sys.stdin.readline

def round_custom(x):
    v1 = x - int(x)
    if v1 >= 0.5:
        return int(x+1)
    else:
        return int(x)

def thirty_percent(x):
    return round_custom(x * 0.15)

n = int(input())

if n == 0:
    print("0")
    exit()
    
data = [int(input()) for _ in range(n)]
data.sort()

var = thirty_percent(n)
s = 0
for i in range(n-2*var):
    s += data[i+var]   

print(round_custom(s/(n-2*var)))

 

정렬 후 그대로 문제를 따라하면 된다..

참고로 파이썬의 round 함수는 사사오입을 완벽하게 만족하지 않아서 따로 만들어 써주는게 편하다!

 

+ 오랜만이라 까먹고 있던 건데 파이썬 input이 느려서 많은 케이스를 받는 경우에 TLE가 나므로 위 두줄을 입력해주어야 한다..

'baekjoon (solved.ac) > class 2 AllSolve' 카테고리의 다른 글

18111 - 마인크래프트  (0) 2022.10.26
2805 - 나무 자르기  (0) 2022.10.24
1654 - 랜선 자르기  (0) 2022.10.24
2839 - 설탕 배달  (0) 2022.10.23
2869 - 달팽이는 올라가고 싶다  (0) 2022.10.22
Comments