이번 문제는 입력받은 정보를 정렬하고, 이전의 리스트와 현재의 리스트의 같은 레벨을 비교하여 겹치는 부분이 있을 경우에는 그 부분을 건너 뛰고 값을 넣어주는 방식으로 해결하였다. 주어진 예제에서는 레벨 0에 대한 중복 처리만 되어 있었기 때문에 레벨 0에 대한 중복처리반 진행하였고, 예제는 맞았지만 출력 초과라는 결과가 나왔다. 그리고 모든 레벨에서 중복 처리를 해야한다는 사실을 알게 되었고, 모든 레벨에서 중복처리를 하여 해결하였다.
n=int(input())
infos=[]
for _ in range(n):
tmp=list(map(str, input().split()))
infos.append(tmp[1:])
infos.sort()
answer=[]
for i in range(len(infos)):
if i==0:
for j in range(len(infos[i])):
answer.append('-'*(2*j)+infos[i][j])
else:
idx=0
for j in range(len(infos[i])):
if infos[i][j]!=infos[i-1][j] or len(infos[i-1])<=j:
break
else:
idx=j+1
for j in range(idx, len(infos[i])):
answer.append('-'*(2*j)+infos[i][j])
for ans in answer:
print(ans)