I don't make mistakes. Mistakes make me.
That makes me stronger and self-reliant.
실패를 두려워 하지 말자!!
세 번째 문제는
"블랙잭"입니다~!
블랙잭에 대해 알고 계신가요?
블랙잭은 카지노에서
자주 플레이 되는 게임이라고 해요.
난이도 별 세개... 도전해보러 갑시다!
문제
카지노에서 자주 플레이되는 블랙잭의 규칙은 카드의 합이 21이 넘지 않는 한도 내에서, 카드의 합을 가장 크게 만드는 게임이다.
이와 유사하게, 코드메이트 버전의 블랙잭은 N개의 카드중 세장의 카드를 뽑아 X를 넘지 않으면서 X와 가장 가까운 수의 카드조합을 골라내는 규칙으로 진행된다.
첫째 줄에는 카드의 개수 N과 목표 값 X가 주어지며,
두번째 줄에는 카드에 쓰여있는 수가 입력으로 주어질 때,
X에 가장 가까우면서 X를 넘지 않는 카드 세장의 합을 구해서 출력하세요.
입/출력 예시
👉 입력 예시
5 21 1 2 3 4 5
👉 출력 예시
12
👉 입력 예시
8 100 16 85 30 14 95 63 52 87
👉 출력 예시
98
from itertools import combinations
# 카드갯수 n 목표값 target
n,target=map(int,input().split())
nums=list(map(int,input().split()))
nums_candidates=list(combinations(nums,3))
max_num=0
for candidate in nums_candidates:
result=sum(candidate)
if result<target:
max_num=max(result,max_num)
elif result==target:
max_num=result
break
else:
continue
print(max_num)
'코딩 챌린지 > 알고리즘 문제 챌린지' 카테고리의 다른 글
추석맞이 코딩 챌린지2일차(21.09.19) (0) | 2021.09.19 |
---|---|
추석맞이 코딩 챌린지1일차(21.09.18) (0) | 2021.09.18 |