점수 여러개를 받아, 가장 큰 기대점수를 출력하는 문제이다.
주의할 점은 1등 기대점수를 소수점 첫 번째 자리까지 출력해야한다는것 정도?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#yulo
import sys
for i in range(case):
testsor = sorted(stutest) # 정렬(가장 작은 수와 가장 큰 수끼리 더해야 하기 때문에)
testlist = [] # 리스트에 기대점수를 넣는다
for j in range(int(stunum/2)):
localsum = float((testsor[j] + testsor[-(j+1)])/2) # 가장작은수+가장큰수하고 소수로 만들음
if stunum % 2 == 1: # 학생수가 홀수일 경우, 앞에 과정에서 더해지지 않은 수가 있음
testlist.sort() # 가장 큰 기대점수를 출력하기 위해
print(format(testlist[-1],"0.1f")) # 소수점 1자리까지 출력
|
리스트에 넣고 정렬하는 방식을 썼지만, 어차피 하나만 출력하면 되는 거
이런식으로 변수 하나 만들어서 해결하는 것으로 해도 문제 없었을 거 같다.
느낀점:
1. 두 수의 합이 제일 작게 하는 방식은 가장 큰 놈과 가장 작은 놈을 더하고 /2 하면 된다고 한다. 그렇구나.
'코테용 문제풀이 > 알고스팟' 카테고리의 다른 글
알고스팟 weird numbers (weird) 문제 파이썬으로 풀기 (0) | 2019.09.22 |
---|---|
알고스팟 Mismatched Brackets 문제 파이썬으로 풀기 (0) | 2019.09.12 |
알고스팟 note 문제 파이썬으로 풀기 (0) | 2019.09.05 |
알고스팟 divisibility 문제 파이썬으로 풀기 (0) | 2019.08.27 |
알고스팟 tiling2 문제 파이썬으로 풀기 (0) | 2019.08.26 |