diff --git "a/suyeun84/202510/22 BOJ G4 \353\214\204\354\212\244 \355\214\214\355\213\260.md" "b/suyeun84/202510/22 BOJ G4 \353\214\204\354\212\244 \355\214\214\355\213\260.md" new file mode 100644 index 00000000..bb4b1471 --- /dev/null +++ "b/suyeun84/202510/22 BOJ G4 \353\214\204\354\212\244 \355\214\214\355\213\260.md" @@ -0,0 +1,60 @@ +```java +import java.io.*; +import java.util.*; + +public class boj2831 { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + static StringTokenizer st; + static void nextLine() throws Exception { st = new StringTokenizer(br.readLine()); } + static int nextInt() { return Integer.parseInt(st.nextToken()); } + + public static void main(String[] args) throws Exception { + nextLine(); + int N = nextInt(); + int answer = 0; + ArrayList tg = new ArrayList<>(); + ArrayList sg = new ArrayList<>(); + ArrayList tb = new ArrayList<>(); + ArrayList sb = new ArrayList<>(); + nextLine(); + for (int i = 0; i < N; i++) { + int tmp = nextInt(); + if (tmp < 0) sg.add(tmp*-1); + else tg.add(tmp); + } + nextLine(); + for (int i = 0; i < N; i++) { + int tmp = nextInt(); + if (tmp < 0) sb.add(tmp*-1); + else tb.add(tmp); + } + // 양수 -> 자신보다 큰, 음수 -> 자신보다 작은 + Collections.sort(tg); + Collections.sort(sg); + Collections.sort(tb); + Collections.sort(sb); + + for (int i = 0, j = 0; i < tb.size() && j < sg.size();) { + int man = tb.get(i); // 큰여자원하는남자 + int woman = sg.get(j); //작은남자원하는여자 + if (woman <= man) j++; + else { + i++; + j++; + answer++; + } + } + for (int i = 0, j = 0; i < sb.size() && j < tg.size();) { + int man = sb.get(i); //작은여자원하는남자 + int woman = tg.get(j); //큰남자원하는여자 + if (man <= woman) i++; + else { + i++; + j++; + answer++; + } + } + System.out.println(answer); + } +} +```