def grade(aver) :
if aver >= 90 :
return 'A'
elif aver >= 80 :
return 'B'
elif aver >= 70 :
return 'C'
elif aver >= 50 :
return 'D'
else :
return 'F'
def solution(scores):
arr = []
answer = ''
for i in range(len(scores)) :
point = []
myPoint = 0
for j in range(len(scores[i])) :
point.append(scores[j][i])
if i == j :
myPoint = scores[j][i]
if max(point) == myPoint or min(point) == myPoint :
if point.count(myPoint) == 1 :
up = sum(point) - myPoint
down = len(point)-1
arr.append(grade(up/down))
continue
arr.append(grade(sum(point)/len(point)))
for k in range(len(arr)) :
answer += arr[k]
return answer
def solution(scores):
answer = []
avgList = 'FFFFFDDCBA'
scores = list(map(list, zip(*scores)))
for s in range(len(scores)) :
avg = 0
if max(scores[s]) == scores[s][s] or min(scores[s]) == scores[s][s] :
if scores[s].count(scores[s][s]) == 1:
avg = (sum(scores[s])-scores[s][s])/(len(scores)-1)
else :
avg = sum(scores[s])/len(scores[s])
else :
avg = sum(scores[s])/len(scores[s])
answer.append(avgList[int(avg) // 10])
return "".join(answer)
zip을 이용해서 이차원 리스트를 뒤집을 수 있다.
zip(*iterables)는 각 iterables 의 요소들을 모으는 이터레이터를 만든다.
ex)
mylist = [1, 2, 3] new_list = [40, 50, 60] for i in zip(mylist, new_list): print (i) (1, 40) (2, 50) (3, 60)