https://www.acmicpc.net/problem/2798
2798번: 블랙잭
첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장
www.acmicpc.net
"""
2798
"""
N, M = map( int, input().split() )
lst = list( map( int, input().split() ) )
a = max(lst)
aidx = lst.index(a)
lst[aidx] = 0
b = max(lst)
bidx = lst.index(b)
lst[bidx] = 0
c = max(lst)
lst[bidx] = b
lst[aidx] = a
result = 0
if a+b+c <= M :
print(a + b + c)
else :
for i in range(N):
for j in range(i+1, N):
for k in range(j+1, N):
if lst[i] + lst[j] + lst[k] > M:
continue
else:
result = max(result, lst[i] + lst[j] + lst[k])
print(result)
아직 파이썬에 미숙해서 탐색 범위를 좁히지 못함
나중에 다시 풀어볼 에정
'2022 하반기 > Python' 카테고리의 다른 글
백준 1436 Python (0) | 2023.02.07 |
---|---|
백준 1018 python (0) | 2023.02.02 |
백준 7568 python (2) | 2023.02.02 |
백준 2231 python (0) | 2023.01.29 |
백준 python (0) | 2023.01.26 |
댓글