[백준] 2798번 : 블랙잭
문제
개념
iterools 라이브러리
원소들의 순열과 조합을 통해 경우의 수를 추출해내는 방법
import itertools
nCr (조합)
조합은 서로 다른 n개 중에 r개를 선택하는 경우의 수(순서 X)
result = list(itertools.combinations((["1","2","3","4"]),2))
print("**경우의 수 : %s개" % len(result))
print(result)
**경우의 수 : 6개
[('1', '2'),
('1', '3'),
('1', '4'),
('2', '3'),
('2', '4'),
('3', '4')]
list(map(int, sys.stdin.readline().split()))
띄어쓰기로 만들어진 여러 개의 수를 하나의 리스트에 담는 법
import sys
해줘야 사용 가능
풀이
import sys
import itertools
N, M = map(int, input().split())
arr = []
num = list(map(int, sys.stdin.readline().split()))
result = list(itertools.combinations(sorted(num),3))
for i in range(len(result)):
if M >= sum(result[i]):
arr.append(sum(result[i]))
print(max(arr)) # max를 해줘야 했음
# 수를 정렬해주고 넣어준다고 해도
# 반드시 max 숫자가 맨 뒤에 나올거란 보장은 없음!
Author And Source
이 문제에 관하여([백준] 2798번 : 블랙잭), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@letsbebrave/백준-2798번-블랙잭저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)