[잘못된 반복문 코드]
for i in range(n): # n개중에 숫자 하나 고르기
for j in range(n-1): # 첫 반복문 때 고른 거 빼고 나머지 n-1개 중 하나
for x in range(n-2): # 남은 n-2개 중 마지막 세번째 숫자 고르기
주석대로 하려면
for i in range(n): # n개중에 숫자 하나 고르기
for j in range(i+1, n): # 첫 반복문 때 고른 거 빼고 나머지 n-1개 중 하나
for x in range(j+1, n): # 남은 n-2개 중 마지막 세번째 숫자 고르기
이렇게 해야 한다.
[최종 코드]
# 블랙잭
n, m = map(int,input().split())
cards = list(map(int, input().split()))
# 3개의 카드 고르기 = n(n-1)(n-2)
res = []
for i in range(n): # n개중에 숫자 하나 고르기
for j in range(i+1, n): # 첫 반복문 때 고른 거 빼고 나머지 n-1개 중 하나
for x in range(j+1, n): # 남은 n-2개 중 마지막 세번째 숫자 고르기
tmp = cards[i] + cards[j] + cards[x]
if tmp <= m:
res.append(tmp)
print(max(res))
'백준 - 파이썬 > 단계별 - 12 (브루트 포스)' 카테고리의 다른 글
*[백준/파이썬] 19532번 수학은 비대면강의입니다. (0) | 2025.05.17 |
---|---|
*[백준/파이썬] 2231번 분해합 | 자릿수 더하기 (0) | 2025.05.17 |