728x90
반응형
Bronze II
# 2798 블랙잭
브루트 포스
링크 : https://www.acmicpc.net/problem/2798
2798번: 블랙잭
첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장
www.acmicpc.net
풀이
N, M = map(int, input().split())
cards = list(map(int, input().split()))
sum_list = []
for i in range(N):
for j in range(i+1, N):
for k in range(j+1, N):
if cards[i]+cards[j]+cards[k] <= M:
sum_list.append(cards[i]+cards[j]+cards[k])
print(max(sum_list))
- 스터디원들의 도움을 받아 최대한 깔끔하게 수정하였다
- cards 리스트 내에 가능한 모든 조합을 시도하는 대신, M보다 작은 조건을 설정해서 연산과정을 줄였다
- range 범위 설정에 실수가 있어 애먹었지만 도움을 받아 해결하였다
'Algorithm Study > Python' 카테고리의 다른 글
[백준 파이썬] # 13305 주유소 (0) | 2021.12.19 |
---|---|
[백준 파이썬] # 2231 분해합 (0) | 2021.12.19 |
[코드업 파이썬] # 4012 석차 계산 (0) | 2021.12.17 |
[코드업 파이썬] # 3120 리모컨 (0) | 2021.12.16 |
[코드업 파이썬] # 3170 기억력 테스트 9 (0) | 2021.12.13 |