본문 바로가기
CODE/Python

프로그래머스 2주차 Python

by zerozero\base 2021. 8. 30.
def solution(scores):
    answer = ''
    myscores = []
    myscoresDummy = []
    for ary1 in range(len(scores[0])): ## 00, 10, 20, 30, 40 // 01, 11, 21, 31, 41
        for ary2 in range(len(scores[0])):
            myscoresDummy.append(scores[ary2][ary1])
        
        maxMyscores = max(myscoresDummy)
        minMyscores = min(myscoresDummy)
        if (myscoresDummy[ary1] == maxMyscores and myscoresDummy.count(maxMyscores) == 1) or (myscoresDummy[ary1] == minMyscores and myscoresDummy.count(minMyscores) == 1 ):
            del myscoresDummy[ary1]
        avgDummy = sum(myscoresDummy) / len(myscoresDummy)
        
        if avgDummy >= 90:
            myscores.append("A")
        elif avgDummy >= 80:
            myscores.append("B")
        elif avgDummy >= 70:
            myscores.append("C")
        elif avgDummy >= 50:
            myscores.append("D")
        else: myscores.append("F")
        
        del myscoresDummy[:]
    
    answer = "".join(myscores)        
    return answer

 

나의 경우는 배열의 행열을 for문을 이용해 일일이 변경해줬으나, 아래의 방법으로 손쉽게 배열을 변경할 수 있었다.

 

score_table = list(map(list, zip(*scores)))

 

'CODE > Python' 카테고리의 다른 글

이코테 상하좌우  (0) 2022.04.24
프로그래머스 프린터 Python  (0) 2021.12.16
프로그래머스 완주하지 못한 선수 Python  (0) 2021.07.29
코드업 6098 성실한 개미 Python  (0) 2021.07.28
백준 2562 최댓값 Python  (0) 2021.07.18

댓글