[파이썬]백준 2798 블랙잭

Byeonghyeon Kim·2021년 3월 11일
0

알고리즘문제

목록 보기
31/93
post-thumbnail

링크

백준 2798 블랙잭


백트래킹을 연습하기 위해 백트래킹으로 구현했다.
가지치기가 제대로 되지 않아 아직 완벽하다고는 할 수 없다.
갈길이 멀다. 조바심 내지 말고 차근차근 시작해보자


정답 코드

def blackjack(idx, j):
    if idx == 3:
        if sum(sel) <= M:
            maxi.append(sum(sel))
    else:
        for i in range(j, N):
            if visit[i] == 0:
                visit[i] = 1
                sel[idx] = cards[i]
                blackjack(idx + 1, i + 1)
                visit[i] = 0

N, M = map(int, input().split())
cards = list(map(int, input().split()))
visit = [0] * N
sel = [0] * 3
maxi = []

blackjack(0, 0)
print(max(maxi))

알게된 것👨‍💻

  • 백트래킹을 연습해보자!
profile
자기 주도 개발전 (개발, 발전)

0개의 댓글