https://www.acmicpc.net/problem/2002
접근 :
- 들어간 차량 순서대로 배열에 저장한다.
- 나가는 차량을 체크해서 들어간 차량과 일치하지 않으면 Set에 저장 후 다음 차량으로 넘어간다.
- 차량을 체크하기전 들어온 차량이 추월하였는지 확인하고 추월하지 않은 차량까지 flag를 이동시킨다.
코드구현 :
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
String[] inputs = new String[n];
for(int i= 0 ; i < n ; i++) inputs[i] = br.readLine();
String now;
int flag = 0;
Set<String> madmax = new HashSet<>();
for(int j = 0 ; j < n ; j++){
now = br.readLine();
//만약 현재 차량이 추월 차랑이면 추월되지 않는 차량까지 flag 이동
while(madmax.contains(inputs[flag])) flag++;
//만약 순번이 일치하는 차량인 경우 flag + 1 후 다음 출차 차량으로 이동
if(inputs[flag].equals(now)){
flag++;
continue;
}
madmax.add(now);
}
System.out.println(madmax.size());
br.close();
}
}
'JAVA > Coding Test' 카테고리의 다른 글
[JAVA] 백준 1253 좋다_투포인터 (0) | 2024.06.09 |
---|---|
[JAVA] 백준 13144 List of Unique Numbers_큐 (1) | 2024.06.07 |
[JAVA] 백준 13335 트럭_큐 (0) | 2024.06.06 |
[JAVA] 백준 2343 기타 레슨_이분탐색 (0) | 2024.06.05 |
[JAVA] 백준 2512 예산_이분탐색 (0) | 2024.06.05 |