🌞Algorithm/🔥Baekjoon

[Baekjoon] 27589_Streets Ahead

뿌야._. 2025. 12. 17. 11:40
문제(출처: 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