Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 동아리
- 코뮤니티
- 코뮤니티_코딩챌린지
- 니콜라스
- 설정
- 검색알고리즘
- C언어 #포인터 #배열 #코딩 #개발 #프로그래밍
- 개발자
- 모각코
- 파이썬
- 코코아클론
- 꾸준함
- 알고리즘
- 노마드코더
- 클론코딩
- 대회
- 화이팅
- 예약사이트
- 회고
- 파이어베이스
- 알고리즘은 너무나도 행복하다
- 백준
- 파이썬 #프로그래밍 #학생
- c #c언어 #포인터 #코딩 #프로그래밍 #코딩이 진리다 #개발자
- 아두이노
- 살려주세요
- 고등학교에서 살아남기
- 코뮤니터_코딩챌린지
- 코딩
- 실리콘밸리
Archives
- Today
- Total
wau2380's playground
추석맞이 코딩챌린지3 - 블랙잭 본문
세 번째 문제는
"블랙잭"입니다~!
블랙잭에 대해 알고 계신가요?
블랙잭은 카지노에서
자주 플레이 되는 게임이라고 해요.
난이도 별 세개... 도전해보러 갑시다!
문제
카지노에서 자주 플레이되는 블랙잭의 규칙은 카드의 합이 21이 넘지 않는 한도 내에서, 카드의 합을 가장 크게 만드는 게임이다.
이와 유사하게, 코드메이트 버전의 블랙잭은 N개의 카드중 세장의 카드를 뽑아 X를 넘지 않으면서 X와 가장 가까운 수의 카드조합을 골라내는 규칙으로 진행된다.
첫째 줄에는 카드의 개수 N과 목표 값 X가 주어지며,
두번째 줄에는 카드에 쓰여있는 수가 입력으로 주어질 때,
X에 가장 가까우면서 X를 넘지 않는 카드 세장의 합을 구해서 출력하세요.
정답
아마 시간초과 떠서 백준에서는 틀리는 알고리즘입니다.. 함수를 너무 남발했네요!
itortools를 사용했어요.
import itertools
N,X = map(int, input().split())
Card = list(map(int, input().split()))
result = list((itertools.combinations((Card),3)))
sum_list = []
for i in range(len(result)):
sum_list.append(sum(result[i]))
for i in range(len(sum_list)):
a = max(sum_list)
if a >= X:
b = sum_list.index(max(sum_list))
sum_list[b] = 0
else:
print(a)
break