프로그래머스 합승 택시 요금

gmlwlswldbs·2021년 11월 24일
0

코딩테스트

목록 보기
83/130
def solution(n, s, a, b, fares):
    answer = 200*100000+1
    fare = [[200*100000+1] * (n+1) for _ in range(n+1)]
    for [c, d, f] in fares:
        fare[c][d] = fare[d][c] = f
    for k in range(1, n+1):
        for i in range(1, n+1):
            for j in range(1, n+1):
                if i == j:
                    fare[i][j] = 0
                else:
                    fare[i][j] = min(fare[i][j], fare[i][k]+fare[k][j])
    for i in range(1, n+1):
        answer = min(answer, fare[s][i] + fare[i][a] + fare[i][b])
    return answer

효율성에서 하나가 틀렷다..시간초과

0개의 댓글