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 |
29 | 30 | 31 |
Tags
- 2965
- EOF
- BoB 7기
- BoB 후기
- 5086
- 4101
- 2605
- 1547
- 차세대 보안 리더 양성
- 차세대 보안 리더 양성 프로그램
- 11109
- 2476
- Best of the Best
- 10833
- 정보보호 영재교육원
- 리뷰
- boj
- 11943
- 10995
- BOB
- 영재교육원
- text
- 공주대 정보보호
- 2501
- 5586
- 2506
- acmicpc
- Python
- 영재원
- 정보보호 영재원
Archives
- Today
- Total
짱해커가 되어보자
boj 2798 본문
문제
블랙잭의 기본적인 규칙에 따라가며, 몇 가지 조건을 추가한다
입력 받을 카드 수 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
Comments