https://www.acmicpc.net/problem/2002
[풀이]
- 해시맵과 관련한 자료구조 유형의 문제였습니다.
- 첫번째 N개의 차를 HashMap 자료구조를 이용해서 순서를 저장합니다.
- 다음 N개의 차를 입력받으면서 앞서 map 변수에 저장했던 value값을 배열에 저장합니다.
- 이후, 배열을 앞에서부터 하나씩 확인하며 앞이 더 큰수가 존재하는지 확인합니다.
- 만약, 더 큰수가 앞에 존재한다면, answer 변수에 1을 더한 후 break문으로 탈출해서 다음 수를 확인합니다.
[코드]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
Map<String, Integer> map = new HashMap<>();
int answer = 0;
for (int i = 0; i < N; i++) {
map.put(br.readLine(), i);
}
int[] arr = new int[N];
for (int i = 0; i < N; i++) {
String input = br.readLine();
arr[i] = map.get(input);
}
for(int i = 0; i< N-1; i++){
for(int j = i+1; j< N; j++){
if(arr[i] > arr[j]){
answer += 1;
break;
}
}
}
System.out.println(answer);
}
}
'Algorithm > 백준' 카테고리의 다른 글
백준 16198번 : 에너지 모으기 (Java) (0) | 2021.10.12 |
---|---|
백준 10026번 : 적록색약 (Java) (0) | 2021.10.10 |
백준 1052번 : 물병 (Java) (0) | 2021.10.08 |
백준 16973번 : 직사각형 탈출 (Java) (0) | 2021.10.06 |
백준 1780번 : 종이의 개수 (Java) (0) | 2021.10.04 |