문제
https://school.programmers.co.kr/learn/courses/30/lessons/120882?language=python3
설계
def solution(score):
average = []
# 평균값 저장
for i in range(len(score)):
average.append(sum(score[i]) / len(score[i]))
# 평균값 순위를 부여
answer = [0] * len(score)
rank = 1
while sum(average) > len(average) * -1: # 0점 처리를 위해 음수로 저장
maxI = average.index(max(average)) # max index 저장
maxV = average[maxI]
cnt = 0 # 중복 랭크 개수 count
for i in range(len(average)): # max값의 index 탐색
if average[i] == maxV:
answer[i] = rank
average[i] = -1
cnt += 1
rank += cnt
return answer
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 문자열 정렬하기 (1) - 파이썬 (0) | 2023.01.24 |
---|---|
[프로그래머스] 특이한 정렬 - 파이썬 (0) | 2023.01.24 |
[프로그래머스] 로그인 성공? - 파이썬 (0) | 2023.01.23 |
[프로그래머스] 치킨 쿠폰 - 파이썬 (0) | 2023.01.23 |
[프로그래머스] 이진수 더하기 - 파이썬 (0) | 2023.01.23 |