데일리 커밋

[백준] 2798번: 블랙잭

snape 2022. 1. 13. 22:47

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

 

2798번: 블랙잭

첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장

www.acmicpc.net

처음에는 random.sample로 무작위의 3개를 만들어줬으나, 모든 3개의 카드를 뽑을 수 없었다.

고민하다가 생각해 낸게 combinations 함수!!

덕분에 itertools의 다른 함수도 더 알게 되어서 좋았다.

from itertools import combinations

a, b = map(int, input().split())
num = list(map(int,input().split()))
num = list(combinations(num,3))
result = []
for i in num:
  if sum(i) <= b:
    result.append(sum(i))
print(max(result))