Super Kawaii Cute Cat Kaoani [JAVA][Baekjoon] 1940번 주몽 ⭐️

[JAVA][Baekjoon] 1940번 주몽 ⭐️

2024. 3. 23. 15:18
728x90
SMALL
 

1940번: 주몽

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

www.acmicpc.net


📌  투포인터 사용

  • 배열을 정렬한 후 i = 0, j = N-1로 시작하여 합을 구했다.
  • 합이 M과 같다면 카운팅을 해주고, i ++, j--로 더 구한다.
  • 합이 M보다 작다면 i++를 해준다.
  • 합이 M보다 크다면 j--를 해준다.

 

✅ PASS CODE

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

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

       Scanner sc = new Scanner(System.in);
       int N = sc.nextInt();
       int M = sc.nextInt();
       int []arr = new int[N];
       for(int i=0; i<N; i++){
           arr[i] = sc.nextInt();
       }
       int cnt = 0;
       Arrays.sort(arr);
       int i=0, j=N-1;
       while(i<j){
           if(arr[i] + arr[j] == M){
               cnt++;
               i++; j--;
           }
           else if(arr[i] + arr[j] <M){
               i++;
           }
           else{
               j--;
           }
       }
       System.out.println(cnt);

   }
}
728x90
LIST

BELATED ARTICLES

more