문제는 트리가 주어진다. 그 중 삭제 할 노드도 주워진다.

리프노드(자식이 없는 노드)의 개수를 찾아라.


dfs로 돌아다니면서, dfs를 수행하는 노드 중 다른 곳으로 재귀호출을 하지 않는 노드는 리프노드라고 판단했다.

맞는 것 같다. 그런데 답이 나오지 않았다. 


다시 문제를 들여다 보면서 알아 낸 것은 

=> 만약 부모가 없다면 (루트) -1이 주어진다. 

이 조건이다. 

트리가 반드시 하나라는 보장은 없었던 것이다. 트리는 2개일 수도 세 개 일수도 있다. 

몇 가지 소스부분을 고치고 제출했더니 통과



'알고리즘문제풀이' 카테고리의 다른 글

2504_괄호의 값  (0) 2015.04.02
2493_탑  (0) 2015.04.01
1991_트리순회  (0) 2015.04.01
더블릿_달팽이  (0) 2015.03.30
더블릿_미 로(labyrinth)  (0) 2015.03.29
Posted by slender ankles
,