문제

이 문제는 그렇게 어려운 문제가 아니라고 느꼈다.

문제의 설명을 하면 카드의 합이 21이 넘지 않는 한도 내에서 카드의 합을 가장 크게 만드는 게임이 바로 블랙잭이다.

딜러가 M의 숫자를 외치고 3장을 골라 합은 M을 넘지 않으면서 M과 최대한 가깝게 만들어야한다.

(세가지의 숫자를 더한 값 <=M && 이전의 비교값 < 세가지 숫자를 더한 값) 만족하면 이전의 비교값을 지금으로 변경해준다.)

삼중포문을 사용하는데 시간복잡도 부분에서는 문제가 되지 않는다. (최악 100*100*100 --> 1초안에 들어감)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.*;
 
public class Main{
    public static int [] arr;
    public static int result=0;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        arr = new int [101];
        int n=sc.nextInt();
        int m=sc.nextInt();
        for(int i=0;i<n;i++)
        {
            arr[i]=sc.nextInt();
        }
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n;j++)
            {
                for(int k=0;k<n;k++)
                {
                    if(i!=&&j!=&& i!=k)
                    {
                        int temp=arr[i]+arr[j]+arr[k];
                        if(temp<=&& result<temp)
                        {
                            result=temp;
                        }
                    }
                }
            }
        }
        System.out.println(result);
    }
}
 
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter

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

 

2798번: 블랙잭

문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버젼의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게

www.acmicpc.net

 

'알고리즘 > 문제' 카테고리의 다른 글

FBI  (0) 2019.07.08
블라인드  (0) 2019.06.30
크로스워드 만들기  (0) 2019.06.30
컵홀더  (0) 2019.06.30
ALPS식 투표  (0) 2019.06.30

+ Recent posts