일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- spring security
- Spring
- 프로그래머스
- BFS
- 2018 KAKAO BLIND RECRUITMENT
- HTTP
- springboot
- 알고리즘
- 탐욕법
- Greedy
- applicationeventpublisher
- 백준
- javascript
- 최단경로
- 소수
- API
- counting elements
- codility
- java
- brute force
- 문자열
- beandefinitionstoreexception
- 라이브템플릿
- algorithm
- 2981
- Python
- error
- 코딩테스트
- Dijkstra
- 파이썬
Archives
- Today
- Total
Altiora Petamus
블랙잭 본문
🤔생각해보기
모든 경우의 수를 구한 후, 조건을 초과하지 않는 가장 큰 합을 출력하면 되는 간단한 문제이다.
for 문을 돌면서 3가지 카드 '조합'을 구해도 되겠지만, 파이썬 모듈 itertools
를 활용하면 복잡한 과정을 생략할 수 있다.
코드
from itertools import combinations
n, m = map(int, input().split())
cards = list(map(int, input().split()))
result = []
candidates = combinations(cards, 3)
for candidate in candidates:
if sum(candidate) <= m:
result.append(sum(candidate))
print(max(result))
'1day-1algorithm' 카테고리의 다른 글
베스트 앨범 (0) | 2021.06.26 |
---|---|
단어 변환 (0) | 2021.06.25 |
통계학 (0) | 2021.06.22 |
토마토 (0) | 2021.06.19 |
소수 구하기 (에라토스테네스의 체) (0) | 2021.06.18 |