본문 바로가기

프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)

56일차 - 알고리즘(DFS/BFS)

https://school.programmers.co.kr/learn/courses/30/lessons/43165

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

깊이 우선 탐색(DFS)

- 그래프 완전 탐색 기법 중 하나

- 그래프의 시작 노드에서 출발하여 한 쪽 분기의 최대 깊이까지 탐색을 마친 후 다른 쪽 분기로 이동하여 다시 탐색을 수행하는 알고리즘

- 실제 구현 시 재귀 함수, 스택을 이용한다.

너비 우선 탐색(BFS)

- 그래프 완전 탐색 기법 중 하나

- 시작 노드에서 출발해 시작 노드를 기준으로 가까운 노드를 먼저 방문하면서 탐색하는 알고리즘

- 선입선출 방식으로 탐색, 큐를 이용해 구현한다.

- 목표 노드에 도착하는 경로가 여러 개일 때 최단 경로를 보장한다.

  

문제 풀이

https://yurison.tistory.com/348

 

[프로그래머스/자바] 타겟 넘버

class Solution { public int solution(int[] numbers, int target) { return new NumberOfCases(numbers, target).calc(); } } class NumberOfCases { private final int[] numbers; private final int target; public NumberOfCases(int[] numbers, int target) { this.numb

yurison.tistory.com