문제1104--우리들의 파일 탐색기

1104: 우리들의 파일 탐색기

실행시간 제한: 1 Sec  메모리사용 제한: 128 MB
제출: 13  통과: 6
[제출] [채점기록] [묻고답하기] [만든사람:]

문제 설명

우리들이 흔히 사용을 하는 파일 탐색기에서 파일을 검색을 하거나 파일 목록을 볼 때 자주 이용 한다.
그래서 파일 탐색기가 얼마나 대단하고 위대하게 잘 짜여진 프로그램인지 알기 위하여 직접 만들어서, 동작 원리에 대해서 알아 보도록 하자.

"차차는 고등학교 2학년 때 만들던 Exten Drive(드라이브 통합 프로그램)을 개발 하다가 폴더, 파일을 관리를 해야 했었다.
그때 차차는 트리 구조, 스택에 관한 개념이 없어서 심플하게 HashMap을 이용을 했었는데 Key값으로는 경로, Value로는 파일 목록을 했더니 폴더 삭제, 폴더 이동에 큰 문제가 발생 했다.
그래서 해결 하기 위해 트리란 구조를 사용 해야 한다."

조건 :
파일 경로 및 파일 내부 구조는 A - Z 순으로 정렬이 되어 있어야 한다.
폴더 목록을 출력을 다 하였다면 마지막에 엔터를 한번더 출력 해줘야 한다.
모든 경로의 값은 Windows형태, 즉 '\' 이 아닌 Unix 기반 '/' 으로 들어온다.
폴더 이름의 값은 중복되지 않으며, 중복해서 만들지도 않는다.

입력 설명

첫줄에 TestCase의 수 (0 < TestCase < 1000)이 입력이 된다.
둘째줄에는 입력 되는 경로의 값(0 < In < 1000), 출력 할 횟 수(0 < Out < 1000) 가 입력이 된다.
In 번 만큼 경로가 입력이 된다.
Out번 경로를 입력을 받고 해당 경로에 있는 파일 구조를 출력 한다.

출력 설명

젤 위에 있는 폴더를 출력하고 젤 위에 있는 폴더 안에 있는 폴더 목록을 출력 한다.
Output에 들어가는 입력값은 출력할 폴더의 위치이다.
해당 폴더가 없는 경우 "Error : Path" 라 출력 한다.
해당 폴더가 비어있는 경우도 마찬가지로 "Blank Folder"라 출력한다

그외 사안은 예제 출력을 확인 한다.

입력 예시 Copy

1
5 3
/a/b/c/d
/a/b/e/f
/a/a/c/e/f
/g/g/a/w/e
/c/d/f/g
/
/a
/b

출력 예시 Copy

-> a
--> a
---> c
----> e
-----> f
--> b
---> c
----> d
---> e
----> f
-> c
--> d
---> f
----> g
-> g
--> g
---> a
----> w
-----> e

-> a
--> c
---> e
----> f
-> b
--> c
---> d
--> e
---> f

Error : Path

도움

테스트 케이스를 만드는게 세상 제일 어렵다.
테스트 케이스 : 4시간

코드 작성 : 1시간

ps. 최적화를 나름 해주었다.

문제를 작정하고 냈다.

출처/분류

차차