[알고리즘 문제풀이] 블랙잭

황인권·2023년 3월 2일
0

알고리즘 문제풀이

목록 보기
2/81

문제 제목 : 블랙잭

문제 난이도 : 하

문제 유형 : 배열, 완전탐색, 브루트포스 알고리즘

https://www.acmicpc.net/problem/2798
시간 제한 : 1초
메모리 제한 : 128MB


문제풀이 아이디어

  1. 카드의 개수가 최대 100개인데 그 중 3장만의 합을 구해야 한다.
  2. 모든 경우의 수는 C(n, 3)으로 표현할 수 있는데
  3. 이는 단순히 3중 반복문으로 모든 경우의 수를 확인하여 문제를 해결할 수 있다.

< 소스코드 >

n, m = list(map(int, input().split(' ')))
data = list(map(int, input().split(' ')))

result = 0
length = len(data)

for i in range(0, length):
    for j in range(i + 1, length):
        for k in range(j + 1, length):
            sum_value = data[i] + data[j] + data[k]
            if sum_value <= m:
                result = max(result, sum_value)
                
print(result)
profile
inkwon Hwang

0개의 댓글