• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

distinct bst.n 하는 이유는 뭔가요?

22.02.20 22:52 작성 조회수 131

0

안녕하세요
 
문제에 node 가 중복되면 안된다는 내용이 없는데 왜 distinct bst.n 를 해야만 하는 건가요??

답변 1

답변을 작성해보세요.

1

말씀하신대로 중복값을 제외해 출력하라는 지시가 있는 것이 문제를 아주 정확하고 헷갈리지 않게 내는 방식일 것입니다. 

하지만 이런 경우에는 문제에서 원하는 것이 무엇인지를 생각해 보면 좋을 것 같다는 생각이 듭니다.

여기서 저희가 알아내야 하는 것은 '각 노드 1, 2, 3, ... 의 노드 타입'이고 노드 하나당 하나씩의 노드 타입만이 매칭됩니다. 

DISTINCT를 쓰지 않고 쿼리를 돌려보면 output이 아래와 같이 나옵니다.

1 Leaf
2 Inner
2 Inner
3 Leaf
...

여기서 두 번째 행과 세 번째 행은 노드 2의 노드 타입이라는 같은 정보값을 중복해서 주고 있으므로, 둘 다 있을 이유가 없을 것 같아요.

또한 문제에서 안내한 sample output을 통해서도 중복값은 제외하는 방식으로 문제를 풀어야 한다는 것을 유추해 볼 수 있겠습니다.