Baekjoon Case

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

Scarlett_C 2021. 8. 9. 11:05
728x90

 

백준 문제를 단계별로 풀고 있는데 기초수학 2까지는 내가 모르는 기능들이 많아서 벽에 계속 부딪히는 느낌이었는데,

브루트포스 단계부터는 조금씩 내 힘으로 풀이 할 수 있다는 생각이 들었다!

https://www.acmicpc.net/problem/2798

 

N,M=map(int,input().split())
cardlist=input().split()
for i in range(N):
    cardlist[i]=int(cardlist[i])
sumlist=[]
for i in range(N):
    for j in range((i+1),N):
        for k in range(j+1,N):
            if cardlist[i]+cardlist[j]+cardlist[k]>M:continue
            else: sumlist.append(cardlist[i]+cardlist[j]+cardlist[k])

print(max(sumlist))

합을 모두 구할 때 같은 카드를 중복으로 하지 않도록 for 문을 3개 만들었다.

기준인 M을 넘으면 추가하지 않고 아닌 경우에만 sumlist에 추가해서

sumlist중 가장 큰 수를 출력하는 방법으로 풀이했다.

728x90