백준 2798 블랙잭 (파이썬)


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함수 없이 최대값 찾기를 진행하였다.




© 2020.09. by 다로

Powered by theorydb