Algorithm/백준

[BOJ] 5576 - 콘테스트 / 리스트 컴프리헨션 이차배열

비번변경 2021. 12. 30. 17:11

문제

https://www.acmicpc.net/problem/5576

프로그래밍 콘테스트에 W대학과 K대학이 참가한다. 두 대학 모두 10명씩 참가하며, 점수가 가장 높은 3명의 점수를 합해 대학의 점수로 계산한다.

W대학의 점수, K대학의 점수를 나타내는 20줄의 입력을 받아 각 대학의 점수를 공백으로 구분하여 출력하는 프로그램을 작성한다.

 

풀이

1. 각 입력을 10열 2행의 배열로 저장한다.

2. 각 행을 정렬한 뒤 마지막 3개 값을 합한 결과를 출력한다.

 

소스 코드

import sys

s = [[int(sys.stdin.readline()) for _ in range(10)] for _ in range(2)]
print(sum(sorted(s[0])[7:]), sum(sorted(s[1])[7:]))

10열 2행의 배열을 초기화하기 위해 리스트 컴프리헨션을 활용했다.

리스트 컴프리헨션으로 이차배열을 초기화할 때는 한 행을 대괄호로 다시 감싸는 형태로 작성한다.