
접근 방법
nC3을 어떻게 할 지 고민을 많이 했다
설마 반복문 다 돌릴려나? 싶었는데 진짜였다
브루트포스 알고리즘은 진짜 다 해보는 알고리즘이였구나..
sum>temp && sum <= M을 조건을 넣어서 새로운 최대값 계속 갱신 해야한다
정답 코드
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());
br.readLine();
// 배열에 카드 숫자들 입력 받기
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
int sum = 0; // 합
int temp =0; // 임시 저장
// 합 계산
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 > temp && sum <= M) // 현재 합(sum)이 이전의 최대 값 temp보다 크고, 주어진 값 M보다 작거나 같을 때,
temp = sum; // update
}
}
}
bw.write(temp + "\n");
bw.flush();
bw.close();
}
}
+ 사담
오랜만에 올리는 포스팅입니다
오픽 점수랑 정보처리기사 필기 합격 만들어왔습니다
상반기 파이팅입니다!
'Algorithm > [BOJ]' 카테고리의 다른 글
[Java] 백준 1546번 : 평균 (1) | 2024.03.14 |
---|---|
[Java] 백준 10813번 : 공 바꾸기 (0) | 2024.03.11 |
[Java] 백준 10810번 : 공 넣기 (0) | 2024.03.08 |
[Java] 백준 10809번 : 알파벳 찾기 (0) | 2023.12.07 |
[DP] 1463번 : 1로 만들기 (Java) (0) | 2023.11.24 |