728x90
소수점 셋째짜리까지 표시된 점수들 중 낮은 점수 7개 오름차순으로 출력
더보기
문제
조
Joe 교수님을 돕기 위해서 학생들의 최종 성적이 주어질 때, 그의 연구실인 You See Lab으로 데려갈 성적이 좋지 못한 7명의 학생, 칠무해의 성적을 뽑아보자.
입력
첫째 줄에 학생의 수 N
둘째 줄부터 N개의 줄에는 학생들의 성적이 무작위로 주어진다. 성적은 최소 0점부터 최대 100점까지 0.001 점 단위로 부여된다.
출력
하위 7명의 성적을 점수가 낮은 순으로 각 줄마다 출력한다. 하위 7명의 성적의 커트 라인에 동점자가 있을 경우에도 7명만 출력을 하면 된다.
리스트에 7개까지만 점수를 받고, 정렬 후
다른 점수들과 리스트 내 최대 점수와 비교해서 더 작은 점수로 교체 후 출
import sys
N = int(sys.stdin.readline())
li = []
# 7개까지만 리스트에 저장 / 정렬
for i in range(7):
# 대소 비교를 위해 float로 받기
n = float(sys.stdin.readline())
li.append(n)
li.sort()
# 그 이후는 가장 마지막 점수(현재 리스트 내 가장 큰 점수)랑 새로운 점수랑 비교해서 작은 점수를 저장하고, 정렬
for i in range(7, N):
n = float(sys.stdin.readline())
if n < li[6]:
li[6] = n
li.sort()
for n in li:
# 소수점 셋째자리까지 출력
print(f"{n:.3f}")
더보기
예제 입력 1
8
20.000
70.000
50.000
30.000
70.000
30.000
60.000
70.000
예제 출력 1
20.000
30.000
30.000
50.000
60.000
70.000
70.000
'IT > Python' 카테고리의 다른 글
[백준] 14717번 앉았다 [Python] 00 | 2023.08.31 |
---|---|
[백준] 1347번 미로 만들기 [Python] - 정렬 00 | 2023.08.30 |
[프로그래머스] Lv.1 크레인 인형뽑기 게임 [Python] - 스택 00 | 2023.08.29 |
[백준] 19637번 IF문 좀 대신 써줘 [Python] - 이진 탐색 00 | 2023.08.29 |