본문 바로가기

카테고리 없음

[BOJ] 백준 2798 파이썬 - 블랙잭

728x90

<정답 코드>

n, m = map(int, input().split())


numList = list(map(int, input().split()))
if len(numList) > n:	# 1
    numList = numList[:n]

answer = []
for i in range(len(numList)-2):	# 2
    for j in range(i+1, len(numList)-1):
        for k in range(j+1, len(numList)):
            a = numList[i]+numList[j]+numList[k]	# 3
            if a <= m:	# 4
                answer.append(a)

print(max(answer))

 

#1 : if 문으로 제한조건을 넘게 작성했을 경우 슬라이싱을 통해 제한조건에 맞게 리스트 정렬

#2 : 3 장의 카드를 뽑아야 하므로 인덱스 오류가 나지 않도록 인덱스 조정 작업

#3 : 카드 3장의 합을 구하는데, 3중 for문을 통해 뽑은 수가 중복되게 뽑히지 않도록 조정

#4 : 합이 m을 넘지 않는 최댓값을 출력해야 하므로 제한문 작성

728x90