Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
Tags
more
Archives
Today
Total
관리 메뉴

잉여의 IT

[백준 2798번: 블랙잭]자바 문제풀이 본문

백준 풀이

[백준 2798번: 블랙잭]자바 문제풀이

프로잉여 2022. 7. 19. 23:24

브루트포스 알고리즘 문제이다.

복잡하게 생각하지 않고 최대한 단순하게 풀었다.

첫번째 i를 정하고, 그 다음부터는 j, 그 다음은 z 순으로 반복문을 이용하여 정렬하듯이 최대합을 갖는 카드 3개의 조합을 찾아나갔다.

import java.util.Scanner;


public class Main {
	
	int BlackJack(int M, int[] arr) {
		int max=0;
		for(int i=0; i<arr.length-2; i++) {
			for(int j=i+1; j<arr.length-1; j++) {
				for(int z=j+1; z<arr.length; z++) {
					int sum=arr[i]+arr[j]+arr[z];
					if(sum<=M) {
						if(max<=sum)
							max=sum;
					}
				}
			}
		}
		return max;
	}
	public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
		Main Main = new Main();
		
		int N = scanner.nextInt();
		int M = scanner.nextInt();
		int arr[]= new int[N];
		
		for(int i=0; i<N; i++) 
			arr[i]=scanner.nextInt();
		System.out.println(Main.BlackJack(M,arr));
		
		
		scanner.close();
	}

}

 

 

 

Comments