문제 출처 (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)
'ALGORITHM > PYTHON' 카테고리의 다른 글
백준 BAEKJOON 33515번 노트북 세 대를 가지고 왔다 [PYTHON/파이썬] (1) | 2025.08.05 |
---|---|
백준 BAEKJOON 9339번 마라토너 [PYTHON/파이썬] (1) | 2025.07.28 |
백준 BAEKJOON 32751번 햄버거 [PYTHON/파이썬] (2) | 2025.07.24 |
백준 BAEKJOON 34009번 Bob부 멍충이 [PYTHON/파이썬] (0) | 2025.07.23 |
백준 BAEKJOON 33964번 레퓨닛의 덧셈 [PYTHON/파이썬] (0) | 2025.07.18 |