[ BOJ / Python ] 14725번 개미굴

황승환·2022년 5월 2일
0

Python

목록 보기
287/498


이번 문제는 입력받은 정보를 정렬하고, 이전의 리스트와 현재의 리스트의 같은 레벨을 비교하여 겹치는 부분이 있을 경우에는 그 부분을 건너 뛰고 값을 넣어주는 방식으로 해결하였다. 주어진 예제에서는 레벨 0에 대한 중복 처리만 되어 있었기 때문에 레벨 0에 대한 중복처리반 진행하였고, 예제는 맞았지만 출력 초과라는 결과가 나왔다. 그리고 모든 레벨에서 중복 처리를 해야한다는 사실을 알게 되었고, 모든 레벨에서 중복처리를 하여 해결하였다.

Code

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)

profile
꾸준함을 꿈꾸는 SW 전공 학부생의 개발 일기

0개의 댓글