728x90
https://www.acmicpc.net/problem/2798
2798번: 블랙잭
문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버젼의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게
www.acmicpc.net
배열,완전탐색
카드중 3개씩 뽑는 모든 경우의 수는 C(n,3) , n은 최대 100이다
-> n(n-1)(n-2) / 3! 가 모든 경우의 수 임 , 러프하게잡아도 100만정도 이기 때문에 완전탐색으로 가능
단순히 3중 반복문으로 모든 경우의 수를 확인하여 문제를 해결할 수 있다.
5 * 4 * 3 / 3! = 10 이므로 전체 경우의수는 10가지 정도 있음.
n, m = list(map(int, input().split(' '))) #2개를 입력받아 각각 n, m에 할당
data = list(map(int, input().split(' '))) #데이터를 입력받음
result = 0
length = len(data)
count = 0
for i in range(0, length): # 0 ~ length -1 까지
for j in range(i+1, length): # i보다 한개 앞에서부터 반복
for k in range(j+1, length): # j보다 한개 앞에서부터 반복 => 이러면 전체반복!
sum_value = data[i] + data[j] + data[k]
if sum_value <= m:
result = max(result, sum_value) #입력값중 최대값을 반환함
print(result)
728x90
'Algorithm' 카테고리의 다른 글
(leetcode) Valid Palindrome (0) | 2021.01.04 |
---|---|
(백준) 10539번 : 수빈이와 수열 (0) | 2019.10.07 |
(백준) 15969 : 행복 (0) | 2019.10.07 |
(백준) 1874번 : 스택수열 (0) | 2019.09.20 |
(백준) 2920번 : 음계 (0) | 2019.09.20 |
댓글