본문 바로가기

Programming [Python]/백준 알고리즘 솔루션

#83 백준 파이썬 [2798] 블랙잭

https://www.acmicpc.net/problem/2798

 

#Solution

원래는 조합으로 풀어야하기에 3개의 for문을 돌려야하지만 파이썬에는 순열 조합 라이브러리(itertools모듈의 combinations함수)가 존재하므로 이를 이용하면 간편하게 풀 수 있다.

from itertools import combinations

card_num, target_sum = map(int, input().split())
card_list = list(map(int, input().split()))
biggest_sum = 0

for cards in combinations(card_list, 3):
    temp_sum = sum(cards)
    if biggest_sum < temp_sum <= target_sum:
        biggest_sum = temp_sum

print(biggest_sum)