1
+ package Baekjoon ;
2
+
3
+ import java .io .BufferedReader ;
4
+ import java .io .IOException ;
5
+ import java .io .InputStreamReader ;
6
+ import java .util .Arrays ;
7
+ import java .util .StringTokenizer ;
8
+
9
+ public class Test {
10
+ public static void main (String [] args ) throws IOException {
11
+ BufferedReader bf = new BufferedReader (new InputStreamReader (System .in ));
12
+
13
+ int material = Integer .parseInt (bf .readLine ()); // 재료의 수
14
+ int armour = Integer .parseInt (bf .readLine ()); // 갑옷이 완성되는 번호의 합
15
+
16
+ int [] A = new int [material ];
17
+ StringTokenizer st = new StringTokenizer (bf .readLine ());
18
+ // String[] input = bf.readLine().split(" ");
19
+
20
+ for (int i = 0 ; i < material ; i ++) {
21
+ A [i ] = Integer .parseInt (st .nextToken ()); // 재료들을 배열로 저장
22
+ // A[i] = Integer.parseInt(input[i]);
23
+ }
24
+
25
+ Arrays .sort (A ); // 재료배열 저장
26
+ int count = 0 ; // 갑옷이 되는 경우의 수
27
+ int left = 0 ;
28
+ int right = A .length - 1 ;
29
+
30
+ // 투 포인터 이동규칙, material과 armour가 만날 때까지 반복
31
+ while (left < right ) {
32
+ if (A [left ] + A [right ] < armour ) {
33
+ left ++;
34
+ } else if (A [left ] + A [right ] > armour ) {
35
+ right --;
36
+ } else {
37
+ count ++;
38
+ left ++;
39
+ right --;
40
+ }
41
+ }
42
+ System .out .println (count );
43
+ bf .close ();
44
+ }
45
+ }
0 commit comments