영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score
가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요.
score
score
score
score
score
score | result |
---|---|
[[80, 70], [90, 50], [40, 70], [50, 80]] | [1, 2, 4, 3] |
[[80, 70], [70, 80], [30, 50], [90, 100], [100, 90], [100, 100], [10, 30]] | [4, 4, 6, 2, 2, 1, 7] |
입출력 예 #1
입출력 예 #2
def solution(score):
rank = 0
avg = []
dict = []
for i in score:
avg.append(sum(i)/2)
dict.append([sum(i)/2, 1])
ascend = sorted(avg)
ascend_dict = []
cnt = 1
a = 0
for i in range(len(ascend)-1, -1, -1):
i += a
if i < 0:
break
elif i == 0:
ascend_dict.append([ascend[i], cnt])
else:
ascend_dict.append([ascend[i], cnt])
k = 0
for j in range(i, -1, -1):
if j == 0:
break
elif ascend[j] == ascend[j-1]:
ascend_dict.append([ascend[j-1], cnt])
a -= 1
k += 1
else:
break
cnt += k
cnt += 1
i = 0
for avg1, rank1 in dict:
for avg2, rank2 in ascend_dict:
if avg1 == avg2:
# print(dict[i])
dict[i][1] = rank2
i += 1
rank = [j for i, j in dict]
### print(dict)
return rank
https://school.programmers.co.kr/learn/courses/30/lessons/120882?language=python3