문제
2798번: 블랙잭
첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장
www.acmicpc.net
코드
My answer
import sys
input=sys.stdin.readline
from itertools import combinations, permutations
n, m=map(int,input().split())
num=list(map(int,input().split()))
case=list(combinations(num,3))
case=[sum(i) for i in case if(sum(i)<=m)]
print(max(case))
풀이
itertools의 combination 함수를 이용해서 3장의 카드를 뽑아 만들 수 있는 모든 조합을 생각해보고 가장 가까운 수를 구하는
브루트포스로 해결하는 단순 문제이다.
728x90
반응형
'코딩테스트 > 백준[Python]' 카테고리의 다른 글
[Python] 백준 #19536- 수학은 비대면 강의입니다. (0) | 2022.01.05 |
---|---|
[Python] 백준 #2231- 분해합 (0) | 2022.01.04 |
[Python] 백준 #3568- isharp (0) | 2022.01.04 |
[Python] 백준 #1495- 기타리스트 [try_again] (0) | 2022.01.03 |
[Python] 백준 #15989- 1,2,3 더하기 4 (0) | 2022.01.03 |