백준 BAEKJOON 22113번 창영이와 버스 [PYTHON/파이썬]

문제 출처 (BRONZE Ⅱ)

https://www.acmicpc.net/problem/22113

 

 

 

 

 

풀이

창영이가 이용하는 버스의 번호를 시작점과 끝점을 이용하면 된다.

문제의 예제 속 3 1 2의 의미는 (3 → 1), (1 2) 순서대로 이동한 것이다.

버스의 환승 요금을 2차원 배열로 저장한 뒤 시작점과 끝점을 통해 해당 요금을 더해주고 출력하면 된다.

 

 

 

 

 

코드

N, M = map(int, input().split())
bus_number = list(map(int, input().split()))
bus_cost = [list(map(int, input().split())) for _ in range(N)]

result = 0
for i in range(M - 1):
    S, E = bus_number[i], bus_number[i + 1]
    result += bus_cost[S - 1][E - 1]  # 0번째 인덱스를 고려한 -1

print(result)