알고리즘/백준

1940_주몽

베리영young 2024. 12. 23. 00:34

사용 알고리즘: 투 포인터

사용 언어: java

 

package week29;

import java.util.*;
public class Main_bj_1940_주몽 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();//
		int[] metarials = new int[n];
		for(int i=0; i<n; i++) {
			metarials[i] = sc.nextInt();
		}
		Arrays.sort(metarials);
		int L = 0;
		int R = n-1;
		for(int i=n-1; i>=0; i--) {
			if(metarials[i] < m) {
				R = i;
				break;
			}
		}
		
		//
		int cnt = 0;
		while(L < R) {
			
			for(int right=R; right>L; right--) {
				if(metarials[L] + metarials[right] == m) {
					cnt++;
					R = right-1;
					break;
				}
				
				if(metarials[L] + metarials[right] < m) {
					break;
				}
			}
			L++;
			
		}
		
		System.out.println(cnt);
	}
}

 

이분 탐색이 아니다! 투 포인터다!

'알고리즘 > 백준' 카테고리의 다른 글

1167_트리의 지름  (0) 2024.12.23
17298_오큰수  (0) 2024.12.23
1916_최소비용 구하기 ***  (0) 2024.12.22
2512_예산  (0) 2024.10.30
16401_과자 나눠주기  (0) 2024.10.30