Koala - 15기/코딩테스트 준비 스터디
[백준/Java]-먹을 것인가 먹힐 것인가
msms0324
2024. 7. 21. 22:35
https://www.acmicpc.net/problem/7795
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int T = Integer.parseInt(br.readLine());
for (int t = 0; t < T; t++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
int[] A = new int[N];
int[] B = new int[M];
st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
A[i] = Integer.parseInt(st.nextToken());
}
st = new StringTokenizer(br.readLine());
for (int i = 0; i < M; i++) {
B[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(A);
Arrays.sort(B);
int count = 0;
for (int i = 0; i < N; i++) {
int idxB = 0; // 각 테스트 케이스마다 초기화
while (idxB < M && B[idxB] < A[i]) {
idxB++;
}
count += idxB;
}
bw.write(count + "\n");
}
br.close();
bw.flush();
bw.close();
}
}
A와 B를 정렬하고 조건에 맞는 (A보다 B가 큰 쌍을) 횟수를 브루트포스로 찾아냈다. N과M이 각각 20000이 최대여서 탐색해야하는 갯수가 그리 크지않아서 가능했다.