인프런 커뮤니티 질문&답변

Kyoung Jun Kim님의 프로필 이미지
Kyoung Jun Kim

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-R

2-R 문제 질문있습니다..

작성

·

300

0

우선 제가 작성한 코드링크는 다음과 같습니다. (주석 포함)

http://boj.kr/5cf259ef97444ada8ad4e9391096d3b9

  • 0번 노드가 root 가 아닌경우

  • 루트 노드가 삭제되는 경우 => result = 0

  • 루트 노드가 단독으로 남는 경우 => result = 1

까지 고려해서 케이스 분류를 잘게 하여 작성을 했는데...

결과가 틀렸다고 나와서 어느 부분을 놓쳤는지 통 모르겠습니다 ㅠㅠ

 

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 KIM님ㅎㅎ

이 문제를 잠깐 다시 볼까요?

트리에서 리프 노드란, 자식의 개수가 0인 노드를 말한다.

트리가 주어졌을 때, 노드 하나를 지울 것이다. 그 때, 남은 트리에서 리프 노드의 개수를 구하는 프로그램을 작성하시오. 노드를 지우면 그 노드와 노드의 모든 자손이 트리에서 제거된다.

자 여기서, 이 문제의 주어진 트리가 "이진트리"라는 말이 있을까요?

KIM님의 코드를 보면 이진트리일 때만 유효할 것같아요. ㅎㅎ

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

와우... 감사합니다. 자식노드가 2개인 이상인 경우까지 고려하니 맞는것으로 나옵니다.

Kyoung Jun Kim님의 프로필 이미지
Kyoung Jun Kim

작성한 질문수

질문하기