강의

멘토링

커뮤니티

Inflearn Community Q&A

starkshn8823's profile image
starkshn8823

asked

10-Week Completion C++ Coding Test | Algorithm Coding Test

2-R

1068 트리 질문있습니다.

Written on

·

371

0

http://boj.kr/389b7e0d0a034cdd81d006051776fb8a

어디에서 OutOfBounds가 발생하는 지 모르겠습니다...

c++코딩-테스트C++코테 준비 같이 해요!

Answer 1

0

kundol님의 프로필 이미지
kundol
Instructor

안녕하세요 ㅎㅎ

코드봤는데요.

_isUse이거요. 의미하는바가 뭔가요?

 

감사합니다.

 

starkshn님의 프로필 이미지
starkshn
Questioner

노드를 실제로 지우지는 않고 사용가는한지 아닌지의 여부를 나타내고 싶어서 넣은 변수입니다. isUse가 false라면 사용불가능한 노드라 마지막에 갯수셀때 제외 할려고 넣어두었습니다.

kundol님의 프로필 이미지
kundol
Instructor

아 이해했습니다. 이 코드의 문제점은 이거 같아요.

        if (vec.size() == 0)
        {
            n-> p_parent = nullptr;
            n-> _isLeaf = true;
            n-> _isUse = true;
        }

이 문제의 예시들을 보면

5
-1 0 0 1 1
2

이런식으로 나오죠?

그래서 첫번째 노드는 무조건 루트노드이다.

이렇게 생각하신 것 같은데

이 문제지문에 어떠한 부분에도 그런 말은 없습니다.

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

단지 이런 말만 있을 뿐이죠.

해당 부분을 고려해주셔서 짜셔야 합니다.

 

감사합니다.

starkshn8823's profile image
starkshn8823

asked

Ask a question