알고리즘 & 코딩테스트
[백준] 2798번 블랙잭
Haksae
2022. 3. 20. 03:40
⛏ 문제 파악
- 새로운 블랙잭! N개의 카드가 주어지고, 그 중 3장을 뽑아 제시된 숫자 M과 가장 가까운 숫자를 만드는 알고리즘
- 브루트 포스 방식으로 풀면 된다.
👉🏻 답안
from sys import stdin
N, M = map(int, input().split(' '))
cards = list(map(int, stdin.readline().split(' ')))
length = len(cards)
result = 0
for i in range(0,length):
for j in range(i+1,length):
for k in range(j+1,length):
sum = cards[i]+cards[j]+cards[k]
if M >= sum:
result = max(result,sum)
print(result)
📑 간단한 설명
- 3중 포문을 통해서, 모든 경우의 수를 구하고,
- M이 sum보다 크거나 같으면, 최대값을 result에 대입