class Solution: def closestMeetingNode(self, edges: List[int], node1: int, node2: int) -> int: ans = (100001,-1) v1 = [-1 for _ in edges] v2 = [-1 for _ in edges] v1[node1] = 0 while edges[node1] != -1 and v1[edges[node1]] == -1: v1[edges[node1]] = v1[node1] + 1 node1 = edges[node1] v2[node2] = 0 if v1[node2] != -1: ans = (v1[node2], node2) while edges[node2] != -1 and v2[edges[node2]] == -1: v2[edges[node2]] = v2[node2] + 1 node2 = edges[node2] if v1[node2] != -1: ans = min(ans, (max(v1[node2], v2[node2]), node2)) return ans[1]BFS, DFS 안 써도 되는 outdegree edge 하나짜리 간단한 문제이긴 한데..인덱스가 아니라 maximize 되는 값을 출력해서 실수함; 결국 ans를 튜플로 교체..
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.