μ΅œλŒ€ 1 λΆ„ μ†Œμš”

πŸ“ [D3_9229] ν•œλΉˆμ΄μ™€ Spot Mart

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Solution {
    static StringTokenizer st;
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
         
        int tc = Integer.parseInt(br.readLine());
        for(int T = 1; T <= tc; T++) {
            sb.append("#").append(T).append(" ");
            st = new StringTokenizer(br.readLine(), " ");
            int N = Integer.parseInt(st.nextToken());
            int M = Integer.parseInt(st.nextToken());
            int max = 0;
            int[] arr = new int[N];
             
            st = new StringTokenizer(br.readLine(), " ");
            for(int i=0; i<N; i++) {
                arr[i] = Integer.parseInt(st.nextToken());
            }
             
            for(int i=0; i<N; i++)
                for(int j=i+1; j<N; j++) {
                    int sum = arr[i]+arr[j];
                    if(sum>M) {
                        continue;
                    }
                    else {
                    max = Math.max(max, sum);
                    }
                }
            if(max == 0) {
                max = -1;
            }
            sb.append(max);
            sb.append("\n");
        }
        System.out.println(sb);
    }
}

πŸ€” λ‚˜μ˜ 생각

이쀑 for문을 톡해 κ°„λ‹¨νžˆ ν’€λ Έλ‹€
μ™„μ „ 검색에 뢀뢄집합 합을 μ‚¬μš©ν•΄μ„œ ν’€μ—ˆμœΌλ©΄ κ³΅λΆ€ν•˜λŠ” 것을 μ‘μš©ν•˜λŠ” κ²ƒμ΄μ˜€λŠ”λ° λ¬Έμ œμ—μ„œ 2개만 μ„ νƒν•˜λΌν•΄μ„œ κ°„λ‹¨νžˆ 이쀑 for문으둜 κ΅¬ν˜„ν•˜μ˜€λ‹€.