Skip to content

Commit 74ad173

Browse files
authored
[20250731] BOJ / G5 / 두 수의 합 / 설진영
1 parent a8df488 commit 74ad173

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
```java
2+
import java.io.*;
3+
import java.util.*;
4+
5+
public class Main {
6+
public static void main(String[] args) throws IOException {
7+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
8+
StringBuilder sb = new StringBuilder();
9+
10+
int t = Integer.parseInt(br.readLine());
11+
12+
for (int tc = 0; tc < t; tc++) {
13+
StringTokenizer st = new StringTokenizer(br.readLine());
14+
int n = Integer.parseInt(st.nextToken());
15+
int k = Integer.parseInt(st.nextToken());
16+
17+
int[] arr = new int[n];
18+
st = new StringTokenizer(br.readLine());
19+
for (int i = 0; i < n; i++) {
20+
arr[i] = Integer.parseInt(st.nextToken());
21+
}
22+
23+
Arrays.sort(arr);
24+
25+
int left = 0;
26+
int right = n - 1;
27+
int minDiff = Integer.MAX_VALUE;
28+
int count = 0;
29+
30+
while (left < right) {
31+
int sum = arr[left] + arr[right];
32+
int diff = Math.abs(sum - k);
33+
34+
if (diff < minDiff) {
35+
minDiff = diff;
36+
count = 1;
37+
} else if (diff == minDiff) {
38+
count++;
39+
}
40+
41+
if (sum < k) {
42+
left++;
43+
} else {
44+
right--;
45+
}
46+
}
47+
48+
sb.append(count).append('\n');
49+
}
50+
51+
System.out.print(sb);
52+
}
53+
}
54+
```

0 commit comments

Comments
 (0)