프로그래머스 위클리 챌린지 2주차

Hyunwoo Park·2021년 9월 26일
0

맨 처음 첫 번째 코드를 제출한 뒤, 2개의 오답 케이스가 발견되었다.
이유를 찾다, 혹시나? 하는 마음으로 두 번째 코드를 제출하였더니 통과.

잘못된 부분은 7번째 줄의 or, and 연산 부분이었다.
and 연산이 or 연산보다 우선순위가 높기에, 괄호를 쳐 주지 않으면 잘못된 결과가 나올 수 있다는 것을 망각했던 것 같다.
앞으로 기본에 더 충실해야 겠다.

def solution(scores):
    answer = ''
    for i in range(len(scores)):
        tmp = []
        for j in range(len(scores)):
            tmp.append(scores[j][i])
        if min(tmp) == tmp[i] or max(tmp) == tmp[i] and tmp.count(tmp[i]) == 1:
            tmp.remove(tmp[i])
        avg = sum(tmp) / len(tmp)
        if avg >= 90:
            answer += 'A'
        elif avg >= 80:
            answer += 'B'
        elif avg >= 70:
            answer += 'C'
        elif avg >= 50:
            answer += 'D'
        else:
            answer += 'F'
    return answer
def solution(scores):
    answer = ''
    for i in range(len(scores)):
        tmp = []
        for j in range(len(scores)):
            tmp.append(scores[j][i])
        if (min(tmp) == tmp[i] or max(tmp) == tmp[i]) and tmp.count(tmp[i]) == 1:
            tmp.remove(tmp[i])
        avg = sum(tmp) / len(tmp)
        if avg >= 90:
            answer += 'A'
        elif avg >= 80:
            answer += 'B'
        elif avg >= 70:
            answer += 'C'
        elif avg >= 50:
            answer += 'D'
        else:
            answer += 'F'
    return answer
profile
만나서 반갑습니다.

0개의 댓글