https://www.acmicpc.net/problem/2002
재미있는 문제다.
N=1000이기에 N^2 내에서 다양한 방법으로 구할 수 있다.
나는 l1, l2 맨 앞의 원소를 비교해서, 불일치 시 O(N)으로 직접 빼주는 방법을 썼다.
불일치는, 현재 차(l2에 있는)는 추월했음을 의미하기 때문이다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
class Main {
public static void main(String[] args) throws IOException {
int ans = 0;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
List<String> l1 = new ArrayList<>();
List<String> l2 = new ArrayList<>();
for (int i = 0; i < N; i++) {
l1.add(br.readLine());
}
for (int i = 0; i < N; i++) {
l2.add(br.readLine());
}
for (int i = 0; i < N; i++) {
if (l1.get(0).equals(l2.get(0))) {
l1.remove(0);
l2.remove(0);
} else {
ans++;
l1.remove(l2.get(0));
l2.remove(0);
}
}
System.out.println(ans);
}
}
'[백준] PS > Java [실랜디]' 카테고리의 다른 글
[백준 2716] 원숭이 매달기 - JAVA (0) | 2025.04.28 |
---|---|
[백준 2578] 빙고 - JAVA (0) | 2025.04.26 |
[백준 2210] 숫자판 점프 - JAVA (0) | 2025.04.25 |
[백준 2784] 가로 세로 퍼즐 - JAVA (0) | 2025.04.25 |
[백준 2371] 파일 구별하기 - JAVA (0) | 2025.04.25 |