본문 바로가기
코딩 문제 풀이/백준

[백준] 자바 문제 풀이 1253 : 골드4

by 코딩하는 랄로 2023. 9. 26.
728x90

BOJ 1253 : 좋다 풀이 코드

import java.util.*;
import java.io.*;

public class Main {

    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int n = Integer.parseInt(br.readLine());
        int[] arr = new int[n];
        StringTokenizer str = new StringTokenizer(br.readLine());

        for(int i = 0; i < n; i++) {
            arr[i] = Integer.parseInt(str.nextToken());
        }

        Arrays.sort(arr);

        int cnt = 0;
        for(int i = 0; i < n; i++) {
            int l = 0;
            int r = n - 1;

            while(l < r) {
                if(l == i) {
                    l++;
                } else if(r == i) {
                    r--;
                } else {
                    int key = arr[l] + arr[r];

                    if(arr[i] == key) {
                        cnt++;
                        break;
                    } else if(arr[i] < key) {
                        r--;
                    } else {
                        l++;
                    }

                }
            }
        }

        bw.write( cnt + "\n");
        bw.flush();
        br.close();
        bw.close();
    }
}
728x90