https://www.acmicpc.net/problem/2822
문제를 보자마자 입력 받을때마다 리스트에 append해준 다음에, 슬라이싱을 이용해 총합을 구하면 되겠다는 생각이 들었다. 그런데 여기서 문제는... 그렇게만 구현하면 문제 번호를 출력하지 못하게 된다는 이슈가 생긴다.
이를 위해 튜플을 사용해 각 문제의 번호와 점수를 묶어서 저장해주었다.
상위 5개 문제의 번호를 출력하기 위해 새로운 리스트를 만들어서 반환해주는 sorted() 함수를 사용했다. sorted() 함수가 리턴해주는 리스트를 nums에 저장한 뒤, *nums 로 한번에 출력해주면 된다.
score = []
for i in range(8):
s = int(input())
score.append((s, i + 1))
score.sort(reverse=True)
top5 = score[:5]
total = sum(s for s, _ in top5)
nums = sorted(n for _, n in top5)
print(total)
print(*nums)