잉여의 IT
[백준 2798번: 블랙잭]자바 문제풀이 본문
브루트포스 알고리즘 문제이다.
복잡하게 생각하지 않고 최대한 단순하게 풀었다.
첫번째 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();
}
}
'백준 풀이' 카테고리의 다른 글
[백준 1436번: 영화감독 숌] 자바 문제풀이 (0) | 2022.07.21 |
---|---|
[백준 1018번: 체스판 다시 칠하기] 자바 문제풀이 (0) | 2022.07.21 |
[백준 7568번: 덩치] 자바 문제풀이 (0) | 2022.07.19 |
[백준 2231번: 분해합] 자바 문제풀이 (0) | 2022.07.19 |
[백준 11729번: 하노이 탑 이동 순서] 자바/C 언어 문제풀이 (0) | 2022.07.11 |
Comments