백준 2798번 - 블랙잭 (Python3)
코드
n, m = map(int, input().split())
card = list(map(int, input().split()))
# 나올 수 있는 수의 조합을 담을 리스트
tot = []
for i in range(n-2):
for j in range(i+1, n-1):
for k in range(j+1, n):
card_tot = card[i] + card[j] + card[k]
# card_tot이 m보다 크지 않을 때만 담아줌
if m >= card_tot:
tot.append(card_tot)
# 그 중 가장 큰 값 출력
print(max(tot))
문제 해설
모든 경우의 수를 따져야하는 브루트 포스 문제이다. for 문의 범위 설정만 유의하면 쉽게 풀 수 있는 문제.
댓글남기기