일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- counting elements
- 문자열
- Python
- Greedy
- 코딩테스트
- spring security
- 최단경로
- algorithm
- brute force
- 백준
- 소수
- codility
- API
- 프로그래머스
- error
- springboot
- 탐욕법
- 파이썬
- java
- applicationeventpublisher
- Spring
- 라이브템플릿
- HTTP
- Dijkstra
- 2018 KAKAO BLIND RECRUITMENT
- 알고리즘
- javascript
- BFS
- 2981
- beandefinitionstoreexception
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 |