File tree Expand file tree Collapse file tree 1 file changed +60
-0
lines changed
Expand file tree Collapse file tree 1 file changed +60
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.io.* ;
3+ import java.util.* ;
4+
5+ public class boj2831 {
6+ static BufferedReader br = new BufferedReader (new InputStreamReader (System . in));
7+ static StringTokenizer st;
8+ static void nextLine () throws Exception { st = new StringTokenizer (br .readLine ()); }
9+ static int nextInt() { return Integer . parseInt(st. nextToken()); }
10+
11+ public static void main(String [] args) throws Exception {
12+ nextLine();
13+ int N = nextInt();
14+ int answer = 0 ;
15+ ArrayList<Integer > tg = new ArrayList<> ();
16+ ArrayList<Integer > sg = new ArrayList<> ();
17+ ArrayList<Integer > tb = new ArrayList<> ();
18+ ArrayList<Integer > sb = new ArrayList<> ();
19+ nextLine();
20+ for (int i = 0 ; i < N ; i++ ) {
21+ int tmp = nextInt();
22+ if (tmp < 0 ) sg. add(tmp*- 1 );
23+ else tg. add(tmp);
24+ }
25+ nextLine();
26+ for (int i = 0 ; i < N ; i++ ) {
27+ int tmp = nextInt();
28+ if (tmp < 0 ) sb. add(tmp*- 1 );
29+ else tb. add(tmp);
30+ }
31+ // 양수 -> 자신보다 큰, 음수 -> 자신보다 작은
32+ Collections . sort(tg);
33+ Collections . sort(sg);
34+ Collections . sort(tb);
35+ Collections . sort(sb);
36+
37+ for (int i = 0 , j = 0 ; i < tb. size() && j < sg. size();) {
38+ int man = tb. get(i); // 큰여자원하는남자
39+ int woman = sg. get(j); // 작은남자원하는여자
40+ if (woman <= man) j++ ;
41+ else {
42+ i++ ;
43+ j++ ;
44+ answer++ ;
45+ }
46+ }
47+ for (int i = 0 , j = 0 ; i < sb. size() && j < tg. size();) {
48+ int man = sb. get(i); // 작은여자원하는남자
49+ int woman = tg. get(j); // 큰남자원하는여자
50+ if (man <= woman) i++ ;
51+ else {
52+ i++ ;
53+ j++ ;
54+ answer++ ;
55+ }
56+ }
57+ System . out. println(answer);
58+ }
59+ }
60+ ```
You can’t perform that action at this time.
0 commit comments