(23.05.10)
https://school.programmers.co.kr/learn/courses/30/lessons/120882#
내가 작성한 코드 #1
def solution(score):
avg = [sum(i)/2 for i in score]
rank = [sum(i)/2 for i in score]
avg = (sorted(avg))
r = 0
t = 0
for i in range(len(avg), 0, -1):
index = rank.index(avg[i-1])
if i < len(avg) and avg[i-1]==avg[i]:
rank[index] = r
t += 1
else:
t += 1
rank[index] = t
r = t
return rank
테스트 7, 10에서 계속 틀리는데 이유가 뭘까..?
내가 작성한 코드 #2
def solution(score):
avg = [sum(i)/2 for i in score]
rank = sorted(avg, reverse=True)
answer = []
for i in avg:
answer.append(rank.index(i)+1)
return answer
어차피 index값을 찾을 때 가장 앞에 있는 것을 가져오니까 굳이 계산할 필요가 없었다..!
이건 통과
728x90
'Coding > Python' 카테고리의 다른 글
[Python] 소수 판별 알고리즘 (기본, 제곱근, 에라토스테네스의 체) (0) | 2023.05.16 |
---|---|
[Programmers] lv.1 이상한 문자 만들기 (python) (0) | 2023.05.15 |
[Python] 문자열 관련 문제들 (''.join(), sorted 활용하기) (0) | 2023.05.09 |
[Programmers] LV.1 이상한 문자 만들기 (python) (0) | 2023.04.19 |
[Python] 3과 5의 배수 합하기 (0) | 2021.01.18 |