본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬] 15702번 중간고사 채점

by 현장 2022. 1. 5.

-코드

n, m = map(int, input().split())
score = list(map(int, input().split()))
answer = []
for i in range(m):
    student = list(input().split())
    student[0] = int(student[0])
    r = 0
    for j in range(n):
        if student[j + 1] == 'O':
            r += score[j]
    answer.append([student[0], r])
answer.sort(key=lambda x: [-x[1], x[0]])
print(*answer[0])

처음 코드는

n, m = map(int, input().split())
score = list(map(int, input().split()))
student = sorted([list(input().split()) for _ in range(m)])
answer = 0
for i in range(m):
    r = 0
    for j in range(n):
        if student[i][j + 1] == 'O':
            r += score[j]
    if r > answer:
        answer_student = student[i][0]
        answer = r
print(answer_student, answer)

이렇게 짰으나 53 퍼에서 틀려서 뭐가 문제인지 찾다가 도저히 안돼서 람다로 푸는 방법이 있어서 그것으로 해결을 하였습니다.