작성
·
300
0
우선 제가 작성한 코드링크는 다음과 같습니다. (주석 포함)
http://boj.kr/5cf259ef97444ada8ad4e9391096d3b9
0번 노드가 root 가 아닌경우
루트 노드가 삭제되는 경우 => result = 0
루트 노드가 단독으로 남는 경우 => result = 1
까지 고려해서 케이스 분류를 잘게 하여 작성을 했는데...
결과가 틀렸다고 나와서 어느 부분을 놓쳤는지 통 모르겠습니다 ㅠㅠ
답변 1
1
안녕하세요 KIM님ㅎㅎ
이 문제를 잠깐 다시 볼까요?
트리에서 리프 노드란, 자식의 개수가 0인 노드를 말한다.
트리가 주어졌을 때, 노드 하나를 지울 것이다. 그 때, 남은 트리에서 리프 노드의 개수를 구하는 프로그램을 작성하시오. 노드를 지우면 그 노드와 노드의 모든 자손이 트리에서 제거된다.
자 여기서, 이 문제의 주어진 트리가 "이진트리"라는 말이 있을까요?
KIM님의 코드를 보면 이진트리일 때만 유효할 것같아요. ㅎㅎ
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
와우... 감사합니다. 자식노드가 2개인 이상인 경우까지 고려하니 맞는것으로 나옵니다.