-코드
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 퍼에서 틀려서 뭐가 문제인지 찾다가 도저히 안돼서 람다로 푸는 방법이 있어서 그것으로 해결을 하였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 2428번 표절 (0) | 2022.01.06 |
---|---|
[백준/파이썬] 10448번 유레카 이론 (0) | 2022.01.06 |
[백준/파이썬] 5218번 알파벳 거리 (0) | 2022.01.05 |
[백준/파이썬] 1072번 게임 (0) | 2022.01.04 |
[백준/파이썬] 2495번 연속구간 (0) | 2022.01.04 |