[DFS] 백준 9466번: 텀 프로젝트(Swift)
·
코테
https://www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net 난이도 골드 3 사용언어 Swfit 카테고리 DFS 풀이과정 텀 프로젝트 문제는 원형 트리가 생기면 그 노드끼리 팀이 형성되고, 최종적으로 팀에 속하지 못한 노드의 수를 구하는 문제이다. 문제의 핵심은 사이클이 형성된 노드의 개수를 구하는 것이다. (사이클이 형성됐다. == 특정 노드가 2번 탐색되었다.) 때문에 visited 배열 변수를 두어 탐색이 된 노드인지 아닌지 판별한다. 탐색되지 않은 노드이..
[DFS] 백준 1068번: 트리(Swift)
·
코테
https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 난이도 골드 5 사용언어 Swfit 카테고리 DFS 풀이과정 해당 문제는 트리의 Node중 하나가 지워졌을 때 마지막 노드(리프 노드)를 탐색하는 문제이다. 때문에 childNode로 해당 노드의 자식 노드를 배열에 저장해 탐색한다. 하지만, 탐색전 입력받은 노드를 제거 후 탐색해야 하기 때문에 target(삭제할 노드)를 통해 parentNode를 검색하고, 해당 값으로 childNode ..