- 문제 : 블랙잭
- 난이도 : 브론즈 2
- 언어 : Python
- 문제 링크 : https://www.acmicpc.net/problem/2798
def f(n, k, m):
global black
global ssum
if n == k:
if sum(black) == M or sum(black) > ssum and sum(black) <= M:
ssum = sum(black)
return ssum
else:
for i in range(m):
if used[i] == 0:
used[i] = 1
black[n] = arr[i]
dfs(n+1, k, m)
used[i] = 0
N, M = map(int, input().split())
arr = list(map(int, input().split()))
ssum = 0
black = [0] * 3
used = [0] * N
f(0, 3, N)
print(ssum)
브루트포스로 각각 3개의 인수를 받아서 풀이. 결과를 저장할 때 M과 같거나, 작은 수 중에 가장 가까운 수를 출력
'BOJ' 카테고리의 다른 글
백준 1931. 회의실 배정 [Python] (0) | 2022.03.31 |
---|---|
백준 2309. 일곱 난쟁이 [Python] (0) | 2022.03.29 |
백준 10870. 피보나치 수 5 [Python] (0) | 2022.03.29 |
백준 10872. 팩토리얼 [Python] (0) | 2022.03.29 |
백준 1260. DFS와 BFS [Python] (0) | 2022.03.27 |