[python] 2798번 블랙잭

ideal dev·2022년 12월 4일
0

코딩테스트

목록 보기
7/69

1. 문제 링크 및 문제

https://www.acmicpc.net/problem/2798

1-1 문제 요약

: 카드 3장의 합,근데 이제 M을 넘지 않는.

2. 해결 방법 생각해보자 ...

  1. 카드 3장의 전체 경우의 수를 구해야 함 = 백트래킹
    1-1 방법 : 3중 반복문을 돌려 중복없이 3장의 카드의 합을 구함
    1-2 중복없이 == 1,2,3의 반복문의 시작지점을 다르게 설정

3. 코드

N,M = map(int,input().split())
arr = list(map(int ,input().split()))
MaxAns = 0

for i in range(N):
    for j in range(i+1,N):
        for k in range(j+1,N):
            total = arr[i] + arr[j] + arr[k]
            if total <= M :
                MaxAns = max(MaxAns,total)

print(MaxAns)

! 아차차

실수.

맨 처음 이 문제를 접했을 때 i,j,k 의 범위 설정에서 i+1, j+1 을 안해주어 틀렸었다.
그럼 i=0일 때, j=0 , k=0 이기 때문에 바로 나가리기 때문이다.
이번엔 실수없이 잘 풀었당!👍

0개의 댓글