백준 2798 블랙잭 파이썬

청수동햄주먹·2023년 7월 27일
0

파이썬코딩테스트

목록 보기
34/35

내 코드

# STEP 1 : itertools 임포트하기
from itertools import combinations

# STEP 2 : 인풋 할당해주기
total, aim = map(int, input().split())
cards = list(map(int, input().split()))
temp = []

# STEP 3 : 3개 카드로 이루어진 조합 리스트 만들어주기
for x in combinations(cards, 3):
# STEP 4 : 조건은 목표로 하는 수보다 작을 때 가장 근접한 조합 찾아주기 
    if(sum(x) <= aim):
        temp.append(abs(sum(x) - aim))
        
# STEP 5 : 주어진 리스트에서 만들 수 있는 목표와 가장 가까운 합을 프린트 해준다
print(aim - min(temp))

다른 방법

3중 for 문

이 때 컴비네이션을 임포트할 때 쓰이지 않은 total값이 for문 범위를 설정하는 데에 쓰인다

profile
코딩과 사별까지

0개의 댓글