๋ฐ์ํ
๊ท์น ์ฐพ๊ธฐ
์นด๋์ ๊ฐ์(N)์ ์นด๋ ์์ ํฉ(M)์ด ์ฃผ์ด์ง๋ค.
์ ๋ ฅ 1 ์ ๋ณด๋ฉด 5 6 7 8 9 ์ค์์ 3์ฅ์ ๊ณจ๋ผ์ M์ ๊ฐ์ฅ ๊ฐ๊น์ด ํฉ์ ์ถ๋ ฅ์ํค๋ฉด ๋๋ค!
๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ๋์์ 3๊ฐ์ง ์นด๋๋ฅผ ๋ฝ์ ๋ค, ๊ทธ ์นด๋๋ค์ ํฉ์ ๋ค ๊ตฌํด์ M์ดํ์ ํฉ๋ค ์ค ๊ฐ์ฅ ํฐ ํฉ์ ์ถ๋ ฅ ์ํจ๋ค.
3๊ฐ์ ์นด๋๋ฅผ ๋ฝ์์ผ ํ๋๊น, 3์ค for๋ฌธ์ผ๋ก ๋๋ฆฌ๋ฉด ๋ ๊ฒ ๊ฐ๋ค
int MAX = 0;
int temp = 0;
int result = 0;
for(int i=0; i<arr.length; i++){
result = arr[i];
for(int j=i+1;i j<arr.length; j++){
result += arr[j];
for(int k=j+1; k<arr.length; k++){
temp = result + arr[k]; // ์ด์ ์ ๊ตฌํ result์ ๋จ์ ์นด๋๋ค์ ๋ํ๋ฉด์ temp์ ๋ฃ๊ณ ๋น๊ต
if(temp <= M && MAX < temp){ // ์นด๋์ ํฉ์ด M์ดํ, MAX๋ณด๋ค ํด ๋
MAX = temp; // MAX์ temp;
}
}
}
}
์ ์ฒด ์ฝ๋
import java.io.*;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
Integer[] arr;
st = new StringTokenizer(bf.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
arr = new Integer[N];
st = new StringTokenizer(bf.readLine());
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
int temp = 0;
int answer = 0;
int max = 0;
for (int i = 0; i < arr.length; i++) {
answer = 0;
for (int j = i+1; j < arr.length; j++) {
answer = arr[i] + arr[j];
for (int k = j+1; k < arr.length; k++) {
temp = answer + arr[k];
if (temp <= M && temp > max) {
max = temp;
}
}
}
}
bw.write(max + "");
bw.flush();
bw.close();
}
}
๋ฐ์ํ