728x90
SMALL
완전 탐색알고리즘으로 블랙잭을 구하는 문제를 풀어보았다.
카듸의 개수는 100이하로 n개의 숫자에서 3장의 카드를 더해 m의 숫자에 최대한 가까운 값을 출력하는 문제이다.
나의 경우 3중 for문으로 3장을 한장씩 나열하여 index가 1개씩 증가하면서 m과 같은 값이 나오면 break로 같지 않으면
리스트에 담도록 하였다.
import sys
n ,m = list(map(int, input().split()))
card = list(map(int, input().split()))
sum = 0
result = []
chk = True
for i in range(n-2):
if chk == False:
break
for j in range(i+1, n-1):
if chk == False:
break
for k in range(j+1, n):
sum = card[i] + card[j] + card[k]
if sum == m:
chk = False
break
elif sum < m:
result.append(sum)
if chk == False:
print(m)
else:
# print(result.sort(reverse=True)[0])
result.sort()
print(result[-1])
728x90
LIST
'파이썬 > 코딩테스트' 카테고리의 다른 글
[백준] 일곱 난쟁이 - Python(파이썬) (0) | 2024.03.23 |
---|---|
[백준] 거북이 - Python(파이썬) (0) | 2024.03.23 |
[백준] 셀프넘버 구하기 - Python(파이썬) (0) | 2024.03.23 |
[백준] 콘테스트 문제 - Python(파이썬) (1) | 2024.03.23 |
[백준] ATM - Python(파이썬) (1) | 2024.03.23 |