알고리즘/문제풀이

[Python] 백준 2798 "블랙잭_완전탐색" 문제풀이

이손안나 2021. 9. 15. 16:39

from sys import stdin
from itertools import combinations

# 카드 개수와 기준 점
n,m = map(int,input().split())
# 카드 넘버
list=list(map(int,stdin.readline().split()))

big=0

# 조합을 사용
for i in combinations(list,3):
  target=sum(i)
  if target>big and target<=m:
    big=target

print(big)

 

문제풀이

입력이 2줄이라 첫째줄에는 카드의 개수와 기준 숫자를 입력받는다.

두번째 입력에는 카드에 쓰여있는 숫자들을 입력받는다.

파이썬 순열/조합 라이브러리인 itertools를 선언해 combinations()를 사용했다.

 

 

피드백

 

combinations()을 사용하지 않기 위해서는 3중 for문을 사용해야한다.

조합함수로 나온 결과를 어떻게 더해줘야 하는지 생각했었는데 단순하게 sum()을 사용하는 것이었다...(생각을 못함)