[BOJ] 2798 블랙잭 JAVA

popolarburr·2023년 3월 3일
0
post-thumbnail

- 문제



- 풀이


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int card = sc.nextInt();
        int max_num = sc.nextInt();

        int[] arr = new int[card];

        for (int i = 0; i < card; i++) {
            arr[i] = sc.nextInt();
        }

        System.out.println(check(card, arr, max_num));
    }

    public static int check(int card, int[] arr, int max_num) {
        int max = 0;
        int tmp;
        for (int i = 0; i < card; i++) {
            for (int j = i + 1; j < card; j++) {
                for (int k = j + 1; k < card; k++) {
                    tmp = (arr[i] + arr[j] + arr[k]);
                    if(tmp > max_num) continue;
                    if(tmp > max) {
                        max = tmp;
                    }
                    if (max == max_num) {
                        return max;
                    }
                }
            }
        }
         return max;
    }
}

- 정리 :

생각보다 어려운 문제는 아니였다고 생각합니다. 문제 풀기에 급급했는데 다음에는 더 깨끗하고 효율적인 코드를 짜보려고 노력해야겠다 느꼈습니다.


[링크] : 깃허브

profile
차곡차곡

0개의 댓글