# 블랙잭
n, m = map(int, input().split())
card = list(map(int, input().split()))
result = 0
for i in range(n):
for j in range(i+1, n):
for k in range(j+1, n):
if card[i] + card[j] + card[k] > m:
continue
else:
result = max(result, card[i]+card[j]+card[k])
print(result)
#################################################################
n, m = map(int, input().split())
num = list(map(int, input().split()))
result = []
for i in range(0, n):
for j in range(i + 1, n):
for k in range(j + 1, n):
a = num[i] + num[j] + num[k]
if a <= m:
result.append(a)
print(max(result))
브루트포스 알고리즘으로 모든 경우의 수를 구해주었다.
max( ) 함수를 이용해주었는데,
첫 번째 방법에서는 두 개의 수를 비교하여 큰 수를 반환되도록 하였지만,
두 번째 방법에서 max( )라는 함수는 반복 가능한 자료형 중 가장 큰 수를 반환하도록 하였다.
반응형