[백준] #2798 블랙잭 python
2022. 12. 28. 18:10
https://www.acmicpc.net/problem/2798
2798번: 블랙잭
첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장
www.acmicpc.net
📕 설명 📕
수의 나열을 리스트로 받아서 itertools의 combinations를 이용하여 부분 집합을 구하여 3개씩 잘라서 합을 구하여 구현하였다.
🧑🏻💻 나의 풀이 🧑🏻💻
from itertools import combinations
N, M = map(int, input().split())
blackjak_list = list(map(int, input().split()))
sum_list = []
check_equal = False
result = M
for i in list(combinations(blackjak_list, 3)):
tmp_val = sum(list(i))
if tmp_val == M:
check_equal = True
break
elif tmp_val < M:
sum_list.append(M - tmp_val)
if check_equal:
print(result)
else:
sum_list.sort()
result -= sum_list[0]
print(result)
'Programming > Algorithm' 카테고리의 다른 글
[백준] #7568 덩치 python (4) | 2022.12.28 |
---|---|
[백준] #2231 분해합 python (0) | 2022.12.28 |
[백준] #11729 하노이 탑 이동 순서 python (0) | 2022.12.28 |
[백준] #2447 별 찍기 python (0) | 2022.12.28 |
[백준] #24060 알고리즘 수업 - 병합 정렬 1 python (0) | 2022.12.28 |