

import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
int[] arr = new int[N];
st = new StringTokenizer(br.readLine());
int sum = 0;
int max = 0;
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
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++) {
sum = arr[i] + arr[j] + arr[k];
if (sum == M) {
bw.write(String.valueOf(sum));
br.close();
bw.flush();
return;
}
if (sum < M && sum > max) {
max = sum;
}
}
}
}
bw.write(String.valueOf(max));
bw.flush();
bw.close();
}
}
'코딩 테스트 > JAVA - 백준 단계별로 풀어보기' 카테고리의 다른 글
[백준 Java] 브루트 포스 - 19532번: 수학은 비대면강의입니다 (0) | 2025.02.20 |
---|---|
[백준 Java] 브루트 포스 - 2231번: 분해합 (0) | 2025.02.20 |
[백준 Java] 시간 복잡도 - 24313번: 알고리즘 수업 - 점근적 표기 1 (0) | 2025.02.18 |
[백준 Java] 시간 복잡도 - 24267번: 알고리즘 수업 - 알고리즘의 수행 시간 6 (1) | 2025.02.18 |
[백준 Java] 시간 복잡도 - 24266번: 알고리즘 수업 - 알고리즘의 수행 시간 5 (0) | 2025.02.18 |


import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
int[] arr = new int[N];
st = new StringTokenizer(br.readLine());
int sum = 0;
int max = 0;
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
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++) {
sum = arr[i] + arr[j] + arr[k];
if (sum == M) {
bw.write(String.valueOf(sum));
br.close();
bw.flush();
return;
}
if (sum < M && sum > max) {
max = sum;
}
}
}
}
bw.write(String.valueOf(max));
bw.flush();
bw.close();
}
}
'코딩 테스트 > JAVA - 백준 단계별로 풀어보기' 카테고리의 다른 글
[백준 Java] 브루트 포스 - 19532번: 수학은 비대면강의입니다 (0) | 2025.02.20 |
---|---|
[백준 Java] 브루트 포스 - 2231번: 분해합 (0) | 2025.02.20 |
[백준 Java] 시간 복잡도 - 24313번: 알고리즘 수업 - 점근적 표기 1 (0) | 2025.02.18 |
[백준 Java] 시간 복잡도 - 24267번: 알고리즘 수업 - 알고리즘의 수행 시간 6 (1) | 2025.02.18 |
[백준 Java] 시간 복잡도 - 24266번: 알고리즘 수업 - 알고리즘의 수행 시간 5 (0) | 2025.02.18 |