Algorithm/Inflearn

[알고리즘/인프런] 경로탐색(인접 리스트)

2023. 5. 21. 14:02
목차
  1. 문제
  2.  
  3. 풀이
반응형

문제


방향그래프가 주어지면 1번 정점에서 N번 정점으로 가는 모든 경로의 가지 수를 출력하는 프 로그램을 작성하세요. 아래 그래프에서 1번 정점에서 5번 정점으로 가는 가지 수는 총 6 가지입니다.

 

 

풀이


function solution(n, arr) {
  let ch = Array.from({ length: n + 1 }, () => 0);
  let graph = Array.from({ length: n + 1 }, () => []);
  let answer = 0;

  for (let [a, b] of arr) {
    graph[a] = [...graph[a], b];
  }

  console.log(graph);

  function DFS(v) {
    if (v === n) answer += 1;
    else {
      for (let i = 0; i < graph[v].length; i++) {
        const next = graph[v][i]; // 정점 번호
        if (ch[next] === 0) {
          ch[next] = 1;
          DFS(next);
          ch[next] = 0;
        }
      }
    }
  }
  ch[1] = 1;
  DFS(1);
  return answer;
}

효율성을 위해 각 정점에서 갈 수 있는 정점 번호를 리스트로 저장한다.
그러면 각 정점에서 graph[v].length만큼만 돌면 된다.

 

<인접 리스트 vs. 인접 행렬>

그래프의 노드 개수가 많을 때는 인접 리스트를 쓰고, 노드 개수가 100개 이하면 인접 행렬을 써도 무방하다고 한다.
반응형
저작자표시 (새창열림)

'Algorithm > Inflearn' 카테고리의 다른 글

[알고리즘/인프런] 송아지 찾기  (0) 2023.05.21
[알고리즘/인프런] 미로탐색  (0) 2023.05.21
[알고리즘/인프런] 경로 탐색(인접행렬)  (0) 2023.05.21
[알고리즘/인프런] 수들의 조합  (1) 2023.05.21
[알고리즘/인프런] 조합 구하기  (0) 2023.05.21
  1. 문제
  2.  
  3. 풀이
'Algorithm/Inflearn' 카테고리의 다른 글
  • [알고리즘/인프런] 송아지 찾기
  • [알고리즘/인프런] 미로탐색
  • [알고리즘/인프런] 경로 탐색(인접행렬)
  • [알고리즘/인프런] 수들의 조합
개발자 김비숑
개발자 김비숑
프론트엔드 개발자를 준비하고 있는 김비숑입니다.
반응형
개발자 김비숑
김비숑과 프론트엔드
개발자 김비숑
전체
오늘
어제
  • 분류 전체보기 (118)
    • FrontEnd (24)
      • HTML&CSS (1)
      • JavaScript (3)
      • TypeScript (8)
      • React (8)
      • Test (4)
    • CS (1)
    • Algorithm (83)
      • BOJ (42)
      • Inflearn (26)
      • Programmers (15)
    • Git (0)
    • Projects (4)
    • Translation (1)
    • Others (0)
      • Reviews (4)
      • About Me (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

인기 글

최근 글

hELLO · Designed By 정상우.
개발자 김비숑
[알고리즘/인프런] 경로탐색(인접 리스트)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.