[백준 2798번: 블랙잭] java풀이

Elmo·2022년 7월 23일
0

[백준] 알고리즘

목록 보기
2/39

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

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

첫번째 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();
	}

}
profile
엘모는 즐거워

0개의 댓글