
class Solution:
def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:
if sum(gas) - sum(cost) < 0:
return -1
tmp = 0
ans = 0
for i in range(len(gas)):
tmp += (gas[i] - cost[i])
if tmp < 0:
tmp = 0
ans = i + 1
return ans
if tmp < 0: -> 현재 남은 가스로 이동못하는 경우
ans = i + 1 -> 시작점을 다음 인덱스로 초기화
i + 1이 가능한 이유는 처음 if문을 통해서 전체가스 - 전체비용 >= 0인 경우만 고려하기 때문에 마지막 인덱스에 도착했을 때는 반드시 tmp >= 0을 만족해야 함 -> 결과적으로 len(gas) - 1까지의 경우만 생각하므로 ans = i + 1이 성립되게 됨!