728x90
<정답 코드>
n, m = map(int, input().split())
numList = list(map(int, input().split()))
if len(numList) > n: # 1
numList = numList[:n]
answer = []
for i in range(len(numList)-2): # 2
for j in range(i+1, len(numList)-1):
for k in range(j+1, len(numList)):
a = numList[i]+numList[j]+numList[k] # 3
if a <= m: # 4
answer.append(a)
print(max(answer))
#1 : if 문으로 제한조건을 넘게 작성했을 경우 슬라이싱을 통해 제한조건에 맞게 리스트 정렬
#2 : 3 장의 카드를 뽑아야 하므로 인덱스 오류가 나지 않도록 인덱스 조정 작업
#3 : 카드 3장의 합을 구하는데, 3중 for문을 통해 뽑은 수가 중복되게 뽑히지 않도록 조정
#4 : 합이 m을 넘지 않는 최댓값을 출력해야 하므로 제한문 작성
728x90