본문 바로가기
JAVA

[백준/자바] 1940번: 주몽

by 동백05 2023. 7. 11.

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

 

1940번: 주몽

첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고

www.acmicpc.net

 

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

public class B1940 {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        int N=Integer.parseInt(bf.readLine());
        int M=Integer.parseInt(bf.readLine());

        int[] arr=new int[N];
        StringTokenizer st = new StringTokenizer(bf.readLine());
        for(int i=0;i<N;i++){
            arr[i]=Integer.parseInt(st.nextToken());
        }

        Arrays.sort(arr);

        int count=0;
        int f=0;
        int b=N-1;

        while(f<b){
            if(arr[f]+arr[b]<M){
                f++;
            }else if(arr[f]+arr[b]>M){
                b--;
            }else{
                count++;
                f++;
                b--;
            }
        }

        System.out.println(count);
        bf.close();

    }
}

댓글