hwanseok_dev   3년 전

먼저 다른 질문에 있었던 방법으로는 AC를 받았습니다.  

(노드 정보 입력 받아서 전체 리프 노드 count) - (지울 노드의 하위 리프 노드 count) [+ 지운 노드의 부모가 leaf가 되는 경우 + 1]

제가 생각한 풀이로 다시 풀고 있는데 문제가 무엇인지 모르겠습니다. 

1. 각 노드의 child를 인접리스트로 정리

1. 지워야하는 노드를 dfs 하기 전에 방문처리를 한다.

1. 특정 노드의 자식이 없거나, 자식들이 모두 방문처리(이미 노드 삭제된 경우) 되었으면 리프노드이다.

알고리즘의 문제인지 구현의 문제인지 모르겠습니다. 도와주세요!

hwanseok_dev   3년 전

루트가 여러개인 경우는 고려하지 않아도 됩니다.

위 코드의 문제점은 루트를 삭제하는 경우에 대해서 오류가 있었습니다.

댓글을 작성하려면 로그인해야 합니다.