HeYStRanGeR
article thumbnail

(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
profile

HeYStRanGeR

@HeYStRanGeR

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!