백준 2798 블랙잭 (파이썬)
접근 방식
- 이 문제는 브루트포스 단계에 있는 문제이다.
- 브루트포스란 처음부터 끝까지 다 하나하나 확인하는 방식, 즉 전체 탐색방법을 말한다.
- 따라서 주어진 카드로 만들 수 있는 모든 3개 조합의 합을 다 구하여 조건에 맞는 최대값을 찾으면 된다.
파이썬 코드
n,m = map(int,input().split())
cards = list(map(int,input().split()))
total = 0
max = 0
for i in cards:
for j in cards:
# 같은 카드를 비교할 일 없도록 한다.
if j == i:
continue
for k in cards:
# 같은 카드를 비교할 일 없도록 한다.
if k == j or k == i:
continue
if i + j + k <= m:
total = i + j + k
if total > max:
max = total
print(max)
total을 리스트로 만들어 프린트에 max()함수를 사용해도 되나 나는 그냥 max함수 없이 최대값 찾기를 진행하였다.