Eat the ENAK
BOJ2798 - 블랙잭 본문
문제 바로가기
https://www.acmicpc.net/problem/2798
Solved.ac* 난이도
* Solved.ac는 백준 온라인 저지의 문제들에 난이도를 매겨주는 서비스입니다. 자세한 내용은홈페이지를 참고해주세요.
본문
해설
https://github.com/return0927/CodingWrite-UP/blob/master/BOJ/2798/2798.py
이 문제의 분류는 "브루트포스"이다. 모든 경우의 수를 직접 찾아보라는 의미인데, 1초/128MB라 빡빡할거라 생각했지만 그대로 전수조사만 해주면 풀리는 문제이다.
Python에서 조합을 구해주는 메소드가 있는데, 내장모듈인 itertools.combinations
이다. combinations(cards, 3)
으로 원소가 3개짜리 조합을 만든 후 \(M\)을 넘지 않으면서 last보단 큰 합을 가지면 last를 업데이트한다.
last = 0
for s in combinations(cards, 3):
su = sum(s)
if M >= su > last:
last = su
print(last)
'PS: Problem Solving > BOJ: 백준온라인저지' 카테고리의 다른 글
BOJ2750 - 수 정렬하기 (0) | 2019.10.30 |
---|---|
BOJ2231 - 분해합 (0) | 2019.10.29 |
BOJ1978 - 소수 찾기 (0) | 2019.10.29 |
BOJ2581 - 소수 (0) | 2019.10.29 |
BOJ1929 - 소수 구하기 (0) | 2019.10.29 |
Comments