class Solution: def minJumps(self, arr: List[int]) -> int: n = len(arr) v = [-1 for _ in range(n)] d = {} q = deque([0]) v[0] = 0 for i in range(n): if arr[i] not in d: d[arr[i]] = [i] else: d[arr[i]].append(i) while q: cur = q.popleft() if arr[cur] in d: same = d.pop(arr[cur]) for j in range(len(same)): if v[same[j]] == -1: q.append(same[j]) v[same[j]] = v[cur] + 1 if cur > 0 and v[cur-1] == -1: q.append(cur-1) v[cur-1] = v[cur] + 1 if cur < n-1 and v[cur+1] == -1: q.append(cur+1) v[cur+1] = v[cur] + 1 return v[-1]왜 단순 BFS 문제가 Hard를 달고 나오는거지?예전에도 이랬던 적이 있었던거 같긴 한데..
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.