문제(출처: https://www.acmicpc.net/problem/27589)
< Streets Ahead >
문제 풀이
HashMap을 사용하여 교차로의 인덱스를 구해 위치 차이를 구한다.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.StringTokenizer;
public class _27589_ { // Streets Ahead
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(bf.readLine());
int n = Integer.parseInt(st.nextToken());
int q = Integer.parseInt(st.nextToken());
HashMap<String, Integer> map = new HashMap<>();
for (int i = 0; i < n; i++) {
map.put(bf.readLine(), i + 1);
}
for (int i = 0; i < q; i++) {
st = new StringTokenizer(bf.readLine());
String start = st.nextToken();
String end = st.nextToken();
bw.write((Math.abs(map.get(start) - map.get(end)) - 1) + "\n");
}
bw.flush();
}
}
변수)
n , q : 도로의 개수, 운전자의 수
map : HashMap <도로 이름, 인덱스>
도로의 개수와 운전자의 수를 입력받는다. 도로의 개수만큼 도로 이름을 입력받아 HashMap에 key 값으로 도로이름, value로 인덱스를 저장한다. 운전자의 수만큼 출발 도로와 도착 도로를 입력받아 HashMap에서 value를 구해 절댓값 차를 구한 뒤 -1의 값을 출력한다.

'🌞Algorithm > 🔥Baekjoon' 카테고리의 다른 글
| [Baekjoon] 6235_Argus (0) | 2025.12.16 |
|---|---|
| [Baekjoon] 5872_Clumsy Cows (0) | 2025.12.15 |
| [Baekjoon] 17047_Titlovi (0) | 2025.12.12 |
| [Baekjoon] 10331_Miscalculation (0) | 2025.12.10 |
| [Baekjoon] 16652_Email Destruction (0) | 2025.12.09 |