프로그래머스 - 여행경로,DFS,백트래킹, 그리디,알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, Leetcode, search, greedy,acmicpc,bfs,backtracking,깊이우선탐색
// DFS 문제에서 backtracking인 것은 알았는데, stack으로 푸려다가 며칠간 고통받다가 그냥 재귀로 품 // Process // 1. Input tickets, make map // 2. Sort adjacents (알파벳순으로 들러서 먼저 나오는 것을 찾아가도록) // 3. DFS, backtracking. Start from ICN // 4. Return airport names 포인트는.. 안쓰는 티켓이 없어야 한다는 것. 그래서, DFS로 돌면서 그냥 연결된 공항을 그냥 다 순회한다는 개념이 아니라.. - 각 공항에서 연결된 공항을 따라가면서 방문한 공항은 제거해준다(방문 제외 개념). - 이 때, 더이상 공항에서 연결되어 방문할 공항이 없으면, 모든 티켓을 쓴 상황이어야 한다 (..
백준 11725 - 트리의부모찾기,시뮬레이션,우선순위큐, 그리디,알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, Leetcode, search, greedy,acmicpc,bfs,dfs, priority queue
// Process // 1. Input n, edges // 2. Make node lists with adjacents // 3. Make stack, and put first root node // 4. Iterate while stack is not empty // 4.1. Iterate adjacents // 4.1.1. Set parent number, if this adjacent is not visited yet // 5. Print all parent numbers from 2 to end // 6. Finish import java.io.*; import java.util.*; class FindParentTree { public static void main(String[] args)..
백준 10775 - 공항,시뮬레이션,우선순위큐, 그리디,알고리즘, Programmers, Stack, Queue, Hash, 코딩테스트, Algorithm, Leetcode, search, greedy,acmicpc,bfs,dfs, priority queue
// Process // 1. Input countGate, countAirplane, airplanes // 2. Iterate airplanes while docking status true // 2.1. 비행기입력번호 이하의 게이트 위치에 도킹이 가능한 곳을 찾아 채운다. // 2.2. 도킹하면 개수 센다. // 2.2.1. 없으면 종료한다. // 3. 개수 출력한다. import java.util.*; class Airport { public static void main(String[] args) { int count = 0; Scanner scanner = new Scanner(System.in); int countGate = scanner.nextInt(); int countAirplanes..