본문 바로가기

문제풀이/백준 문제

BackJoon_2798 블랙잭

import java.util.Scanner;

public class BlackJack {
	public static void main(String[] args) {
		// 1. 입력받기 위해 스캐너를 생성한다.
		Scanner sc = new Scanner(System.in);
		
		// 2. 입력받을 카드 개수와 카드의 합을 입력받는다.
		int N = sc.nextInt();
		if(N<10 & N>100) {
			return;
		}
		
		int M = sc.nextInt();
		if(M<10 & M>300000) {
			return;
		}
		
		// 3. 카드를 입력받는다.
		int[] intArray = new int[N];
		for(int i=0; i<N; i++) {
			intArray[i] = sc.nextInt();
			if(intArray[i]<1 || intArray[i]> 100000) {
				return;
			}
		}
		
		// 4. M을 넘지 않으면서 M에 최대한 가까운 카드 3장의 합을 구한다.
		int total = 0;
		for(int i=0; i<N; i++) {
			for(int j=i+1; j<N; j++) {
				for(int k=j+1; k<N; k++) {
					int num = intArray[i]+intArray[j]+intArray[k];
					if(num<=M & num>total) {
						total = num;
					}
				}
			}
		}
		
		// 5. 출력
		System.out.println(total);
	}
}

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

'문제풀이 > 백준 문제' 카테고리의 다른 글

BackJoon_2231 분해합  (0) 2023.08.15
BackJoon_19532 수학은 비대면강의입니다  (0) 2023.08.15
BackJoon_2566 최댓값  (0) 2023.08.14
BackJoon_25305 커트라인  (0) 2023.08.10
BackJoon_2587 대표값2  (0) 2023.08.10