짱해커가 되어보자

boj 2798 본문

프로그래밍_일반/백준

boj 2798

Spadework 2020. 1. 27. 11:29

문제

블랙잭의 기본적인 규칙에 따라가며, 몇 가지 조건을 추가한다

입력 받을 카드 수 N과 목표치 M을 주며, 이후 N만큼 숫자를 제공한다

이 때 승리에 가장 가까운 최댓값을 출력하면 된다

 

입력 : n(3 ~ 100), m(10 ~ 300,000), N(n의 개수만큼, 1 ~ 100,000)
출력 : N

풀이

라이브러리를 활용해 가능한 조합을 구하고, 이에 대한 합 계산 이후 내림차순 정렬으로 M과 비교하여 가능한 가장 큰 수를 출력하였다

from itertools import permutations

n, m = map(int, input().split())
for i in sorted(list(map(sum, list(permutations(list(map(int, input().split())), 3)))), reverse=True):
	if(i <= m):
		print(i)
		break

 

'프로그래밍_일반 > 백준' 카테고리의 다른 글

boj 1018  (0) 2020.01.27
boj 11050  (2) 2020.01.27
boj 2775  (0) 2020.01.27
boj 2292  (0) 2020.01.27
boj 2231  (0) 2020.01.27
Comments