알고리즘/백준 문제풀이

[백준] 2798 블랙잭 파이썬 풀이 (브루트포스)

자바칩 프라푸치노 2021. 6. 24. 13:48

백준

문제

  • 카드 3장을 뽑아 M을 넘지 않으면서 M에 최대한 가까운 합을 만들어라

 

문제 풀이

  • 한개씩 카드를 뽑아서 합이 M보다 크면 넘어가고
  • M과 같거나 같으면 그 합이 가장 큰 것을 result에 담아서 출력한다.

 

 

코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
N,M = map(int, input().split())
numbers=list(map(int, input().split()))
# print(numbers)
result = 0
for i in range(N):
    for j in range(i+1, N):
        for k in range(j+1, N):
            if numbers[i] + numbers[j] + numbers[k] >M:
                continue
            else:
                result = max(result, numbers[i]+ numbers[j]+numbers[k])
 
print(result)
cs
728x90