서비스 기획자 기록

[백준] 2798번 : 블랙잭 - Java 본문

백준

[백준] 2798번 : 블랙잭 - Java

주니5947 2025. 1. 10. 15:59

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


  • 문제


  • 풀이

 - for문으로 조합가능한 모든 숫자를 확인해서 입력받은 숫자를 넘지 않는 최대값을 구한다.

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int M = sc.nextInt();
		int arr[] = new int[N];
		int max = 0;
		
		for (int i = 0; i < N; i++) {
			arr[i] = sc.nextInt();
		}
		
		for (int i = 0; i < N - 2; i++) {
			for (int j = i+1; j < N - 1; j++) {
				for (int k = j+1; k < N; k++) {
					if (arr[i] + arr[j] + arr[k] > max) {
						if (arr[i] + arr[j] + arr[k] <= M)
							max = arr[i] + arr[j] + arr[k];
					}
				}
			}	
		}
		
		System.out.println(max);
		
		sc.close();
	}
}

 

조건에 주어진 숫자들을 배열에 차례로 입력한다.

3개의 for문으로 3개의 숫자 조합들을 모두 순회하며 최대값을 갱신한다.

'백준' 카테고리의 다른 글

[백준] 15829번 : Hashing - Java  (0) 2025.01.16
[백준] 2231번 : 분해합 - Java  (0) 2025.01.16
[백준] 2292번 : 벌집 - Java  (0) 2025.01.10
[백준] 1978번 : 소수 찾기 - Java  (0) 2025.01.10
[백준] 4153번 : 직각삼각형 - Java  (0) 2025.01.08