위 문제를 먼저 이해해보자.
# 2798
import sys
n, m = map(int, input().split())
num = list(map(int, sys.stdin.readline().split()))
ans = []
for i in range(n):
for j in range(i+1, n):
for k in range(j+1, n):
sum_lst = num[i] + num[j] + num[k]
if sum_lst <= m:
ans.append(sum_lst)
print(max(ans))
해당 문제는 브루트 포스 (완전탐색)을 이용하여 푼 문제이다.
m을 초과하지 않는 3가지 카드의 덧셈 중 가장 큰 것을 출력하면 해결된다.