Skip to content

Commit 973487b

Browse files
authored
[20250214] BOJ / G2 / 커플 만들기 / 김수연
1 parent 3163962 commit 973487b

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
```java
2+
import java.util.*;
3+
import java.io.*;
4+
5+
class Solution
6+
{
7+
public static void main(String[] args) throws Exception{
8+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
9+
StringTokenizer st = new StringTokenizer(br.readLine());
10+
11+
int N = Integer.parseInt(st.nextToken());
12+
int M = Integer.parseInt(st.nextToken());
13+
14+
int[] boy = new int[N];
15+
int[] girl = new int[M];
16+
int[][] dp = new int[N+1][M+1];
17+
st = new StringTokenizer(br.readLine());
18+
for (int i = 0; i < N; i++) {
19+
boy[i] = Integer.parseInt(st.nextToken());
20+
}
21+
st = new StringTokenizer(br.readLine());
22+
for (int i = 0; i < M; i++) {
23+
girl[i] = Integer.parseInt(st.nextToken());
24+
}
25+
Arrays.sort(boy);
26+
Arrays.sort(girl);
27+
28+
for (int i = 1; i <= N; i++) {
29+
for (int j = 1; j <= M; j++) {
30+
if(i == j) {
31+
dp[i][j] = dp[i-1][j-1] + Math.abs(boy[i-1]-girl[j-1]);
32+
}else if(i > j) {
33+
dp[i][j] = Math.min(dp[i-1][j-1] + Math.abs(boy[i-1]-girl[j-1]), dp[i-1][j]);
34+
}else if(i < j) {
35+
dp[i][j] = Math.min(dp[i-1][j-1] + Math.abs(boy[i-1]-girl[j-1]), dp[i][j-1]);
36+
}
37+
}
38+
}
39+
System.out.println(dp[N][M]);
40+
}
41+
}
42+
43+
```

0 commit comments

Comments
 (0)