1. 공부한 내용

문제1 - 99 클럽 - Find if path exists in graph:

[ 문제 풀이 ]

문제는 다음과 같다. 그래프의 각 node가 연결된 정보가 주어졌을 때, source_node에서 destination_node로 탐색 가능한지 파악하는 것이다. 이는 DFS와 BFS로 모두 풀이 가능하나, 나는 DFS로 풀이하였다.

나의 풀이는 다음과 같다.

  1. 주어진 edges 리스트를 참고하여 그래프를 구성한다.

  2. dfs 함수를 만든다. ⇒ visited 함수와 함께

  3. 만약 연결되있고, 방문하지 않은 node라면 visited를 True 처리하고 dfs 재귀함수를 돌린다.

  4. dfs(source)로 탐색한 후, visited[destination]을 조회하여, True인지 False인지 파악한다.

⇒ 나는 원초적으로 작성하였으나, 생각해보니 dfs 탐색 도중 destination을 만날 때, return 값을 주는 것이 더 효율적인 것 같다.

2. 오늘의 회고

오늘은 기본적인 탐색 문제여서 금방 풀이하였다. 하지만 습관이 무서운게 더 효율적인 방법이 있음에도 그냥 작성하였다. 앞으론 이 부분도 주의하자.

무너지지 말자.