1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 시작하는 네트워크 분석

Connected

연습 문제

Shortest Path II

이제 목적지 노드가 이웃(neighbors)에 존재하는지 확인하는 코드를 작성하셨으니, 다음으로는 목적지 노드가 이웃에 없을 때를 처리하도록 같은 함수를 확장해 보겠습니다.

작성해야 할 코드는 모두 else 조건문 안에 있습니다. 즉, node2가 neighbors에 없을 때의 처리입니다.

지침

100 XP
  • .add() 메서드를 사용해 현재 노드 node를 집합 visited_nodes에 추가하여 이미 방문한 노드를 기록하세요.
  • 아직 방문하지 않은 현재 노드 node의 이웃을 queue에 추가하세요. 이를 위해 리스트 컴프리헨션과 함께 queue의 .extend() 메서드를 사용해야 합니다. .extend() 메서드는 주어진 리스트의 모든 항목을 이어 붙입니다.
    • 리스트 컴프리헨션의 output expression과 iterator variable은 모두 n이고, iterable은 neighbors의 이터레이터입니다. 조건은 n이 방문한 노드에 없을 때입니다.