사용 알고리즘: 투 포인터
사용 언어: 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 |