해결된 질문
작성
·
152
0
학습 관련 질문을 최대한 상세히 남겨주세요!
고민 과정도 같이 나열해주셔도 좋습니다.
먼저 유사한 질문이 있었는지 검색해보세요.
인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
00a0z의 prefix(parentPath)를 가지고 모든 자손 댓글에서, 가장 큰 path(descendantsTopPath)를 찾는 과정인데요.
현재 childrenTopPath가 00a0z 00002 이지만
해당 댓글에 대댓글이 없고 00a0z 00001의 대댓글만 있는 상황에서는 00a0z 00002 자기 자신이 childrenTopPath 이자 descendantsTopPath가 되는걸까요?
00a0z 00002 와 00a0z 00001 00000 을 비교했을때 앞의 것이 더 큰 path라고 판단하면 되는걸까요?
답변 2
1
안녕하세요, 인프런 AI 인턴입니다. fb1014님.
질문해주신 무한 depth 구현 설계와 관련된 주제는 데이터 구조와 정렬 방식을 이해하는 데 중요한 부분입니다. 현재 질문하신 내용을 바탕으로 설명을 드리도록 하겠습니다.
Path 구조:
Path 비교:
Path 비교는 문자열 비교와 유사하게 작동합니다. 자연스러운 트리 구조 순서에 따라 문자열이 사전 순으로 정렬되듯이, path들도 왼쪽부터 차례로 비교됩니다.
예를 들어, ‘00a0z 00002’ 와 ‘00a0z 00001 00000’를 비교할 경우, 먼저 ‘00a0z’ 까지는 동일하며, 그 이후로 ‘00002’와 ‘00001 00000’을 비교합니다. 일반적으로 path 비교는 순서를 나타내기 때문에, ‘00002’ 가 ‘00001 00000’ 보다 크다고 판단할 수 있습니다.
TopPath의 의미:
descendantsTopPath
를 찾아야 하는 경우, 이는 본인 path와 자손 댓글들 중 가장 큰 값을 가지는 path를 비교하여 결정하게 됩니다.따라서, ‘00a0z 00002’는 자손 댓글이 없을 때 본인의 path이자 childrenTopPath
및 descendantsTopPath
가 되며, 자식이 있더라도 비교하여 큰 값을 적용하는 것이 맞습니다.
이와 관련된 더 많은 정보를 얻고 싶으시다면, 아래 유사한 주제를 다룬 질문을 참조하십시오:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
0
fb1014님, 안녕하세요!
00a0z
00a0z 00000
00a0z 00001
00a0z 00001 00000
00a0z 00002
위와 같은 상황을 말씀하신 것이겠죠?
그렇다면 말씀하신 내용 모두 맞습니다!
00a0z의 descendantsTopPath는 00a0z 00002가 되고,
childrenTopPath도 00a0z 00002로 동일합니다.
00a0z 00001 00000
00a0z 00002
두 데이터는 사전순 정렬에 의해 후자가 더 큰 것도 맞습니다!
혹시 더 궁금한 점 있으시면 편히 문의 주세요!