백준

[BOJ/python] 14729번 칠무해

LUNAV 2022. 9. 26. 22:11

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

14729번: 칠무해

조(Joe)는 중앙대학교 교수이고, 논리회로 설계 과목을 담당하고 있다. 그는 수업을 하면서 7명의 학생을 제외한 나머지 학생들에게 좋은 학점을 주겠다고 약속을 하였다. Joe 교수님을 돕기 위해

www.acmicpc.net

문제 해석
하위 7명의 성적을 오름차순으로 출력한다.
성적은 최소 0점부터 100점까지 0.001점 단위로 입력된다.


코드

import sys
input = sys.stdin.readline

N = int(input())
list = []
for i in range(N):
    list.append(float(input()))
    if len(list) > 7:
        list.remove(max(list))

for i in sorted(list):
    print(f'{i:.3f}')

문제 풀이
빈 리스트에 성적을 1개씩 입력받고, 리스트의 길이가 7개를 넘어가면 리스트에서 가장 큰 값을 제거한다.
이렇게 되면 항상 리스트에서는 하위 7명의 성적이 남게 되며, 메모리를 낭비할 필요가 없다.

이후 7개를 오름차순으로 정렬해서 소수점 셋째 자리까지 출력하면 된다.