슬기로운슬기
[프로그래머스][Lv3][Java] 여행경로
study/코딩테스트 2024. 1. 25. 17:06

문제 [DFS] https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 깊이 우선 탐색(DFS)를 이용하여 주어진 티켓들로 구성된 여행 경로를 찾는 문제 해결 주어진 티켓을 모두 사용하면서 사전 순으로 가장 빠른 경로를 찾는 것이 문제의 목표 import java.util.*; class Solution { public Queue result = new PriorityQueue(); // 우선순위 큐를 이용하여 알파벳 순서대로 경로를 저장하는 큐..

article thumbnail
[알고리즘] DFS(깊이우선탐색)와 BFS(너비우선탐색)
study/코딩테스트 2023. 12. 20. 20:21

그래프를 탐색하는 방법에는 크게 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)이 있다. 그래프란? 정점(node)과 그 정점을 연결하는 간선(edge)으로 이루어진 자료구조의 일종 그래프를 탐색한다는 것은 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것 DFS(깊이 우선 탐색) 시작점에서 한 갈래로 더 이상 갈 수 없을 때까지 탐색하고, 더 갈 곳이 없다면 이전의 경로로 되돌아간다. 가장 직관적이고 구현하기 쉬운 탐색 방법 현재 정점과 연결된 정점들을 하나씩 갈 수 있는지 검사하고, 특정 정점으로 갈 수 있다면 그 정점에 가서 같은 행위를 반복 같은 정점을 다시 방문하지 않도록 정점에 방문했다는 것을 표시 스택이나 재귀함수를 통해 구현 DFS의 구현 - 재귀함수 // 각 노..

반응형