천리길도 한걸음부터

Day4. 두 수의 합 본문

20일 1일 1코테

Day4. 두 수의 합

밤연양갱 2025. 5. 4. 21:56

문제

https://www.acmicpc.net/problem/3273

 

풀이

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

public class Day4 {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(br.readLine());

        // 수열 입력
        int[] arr = new int[n];
        StringTokenizer st = new StringTokenizer(br.readLine());

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

        // 타겟 합
        int x = Integer.parseInt(br.readLine());

        Arrays.sort(arr); // 정렬 먼저!

        int start = 0;
        int end = n -1;
        int count = 0;

        while (start < end) {
            int sum = arr[start] + arr[end];
            if (sum == x) {
                count++;
                start++;
                end--;
            } else if (sum < x) {
                start++;
            } else {
                end--;
            }
        }

        System.out.println(count);
    }
}

'20일 1일 1코테' 카테고리의 다른 글

Day3. 단어 정렬  (0) 2025.05.03
Day2. 숫자 카드2  (0) 2025.05.01
Day1. 숫자 정렬 문제  (0) 2025.05.01