https://school.programmers.co.kr/learn/courses/30/lessons/43164
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
static int[] visited;
static PriorityQueue<String> pq;
public void dfs(String cityName, String[][] tickets, String path, int node){
if(node==tickets.length){
//다 돌았다
pq.add(path);
return;
}
for(int i=0;i<tickets.length;i++){
if(visited[i]==0 && cityName.equals(tickets[i][0])){
visited[i] = 1; //방문
dfs(tickets[i][1],tickets,path+","+tickets[i][1],node+1);
visited[i] = 0; //백트래킹
}
}
}
public String[] solution(String[][] tickets) {
visited = new int[tickets.length];
pq = new PriorityQueue<>();
dfs("ICN",tickets,"ICN",0);
String tmp = pq.poll();
String[] answer = {};
answer = tmp.split(",");
return answer;
}
}
방문여부 확인하는 것을 잊지 말자 !!
'알고리즘' 카테고리의 다른 글
[백준] BOJ2178 - 미로탐색 (JAVA) (0) | 2024.10.31 |
---|---|
[프로그래머스] PGS - 게임 맵 최단거리 (0) | 2023.04.22 |
[백준] BOJ20920 - 영단어 암기는 괴로워 (JAVA) (0) | 2023.04.19 |
[PGS] 프로그래머스 - 아이템줍기 (JAVA) (0) | 2023.04.14 |
[백준] BOJ2608 - 로마 숫자 (JAVA) (0) | 2023.04.13 |