브루트포스 알고리즘은 그냥 무식하게 들이박는다고 생각하면 된다.
우리는 넘치는게 시간이고 메모리인데 안될게 무엇?
일단 카드도 3장을 뽑는 것이니 for문을 3번 돌리면 된다.
다만 같은 카드를 뽑는 조건을 조심하자.
자세한건 아래에 넣었다.
더 자세한 설명은 귀찮으니 생략.
from sys import stdin
put = stdin.readline
numOfCard, targetNum = map(int, put().split())
cardLst = list(map(int, put().split()))
totals = []
diff = []
for i in cardLst:
for j in cardLst:
for k cardLst:
i == j i == k j == k:
total = i + j + k
targetNum - total < :
totals.append(total)
diff.append(targetNum - total)
(totals[diff.index((diff))])
댓글을 불러오는 중...