[백준/파이썬] 2798번 블랙잭 풀이

업데이트:



문제 정보


풀이

문제

카드 N장 중 3장을 골라 합이 M을 넘지 않으면서 최대가 되는 값을 찾는 문제입니다.

코드

n, m = map(int, input().split())
nums = list(map(int, input().split()))
sums = set()
for i in range(len(nums)-2):
    for j in range(i+1, len(nums)-1):
        for k in range(j+1, len(nums)):
            if(nums[i]+nums[j]+nums[k] <= m):
                sums.add(nums[i]+nums[j]+nums[k])

print(max(sums))

설명

3중 반복으로 가능한 3장 조합의 합을 검사하고, 조건을 만족하는 최댓값을 출력합니다.



댓글남기기