본문 바로가기

코딩 문제/매일프로그래밍

매일프로그래밍 - 유닉스 파일 경로로 변경

728x90

Q. './' 과 '../' 이 포함된 파일 경로를 './' 과 '../' 이 없는 유닉스 파일 경로로 바꾸시오.

EX.

Input : /user/bin/../
Output : /user

Input : /user/./bin/./test/../
Output : /user/bin

 

 

풀이

 

import java.util.Scanner;

 

public class javatest {

 

      public static void main(String[] args) {

 

            String[] arr = null; // 경로 값 배열

            String[] result; // 결과값 배열

            int num = 0;

            // 입력받기

            System.out.println("경로를 입력해주세요.");

            Scanner scan = new Scanner(System.in);

            arr = scan.nextLine().split("/");

            // result 배열 초기화

            result = new String[arr.length];

            for(int i=0; i<arr.length; i++) {

                  if(i != 0) {

                        // .. 나 . 이 아니면 result 배열에 추가

                        if(!("..".equals(arr[i])) && !(".".equals(arr[i]))) {

                              result[num] = "/" + arr[i];

                        }else if("..".equals(arr[i])) { // ..이면 뒤로가기 이므로 result 배열의 최근 넣은 값 삭제

                              result[--num] = "";

                        }

                        num++;

                  }

            }

            // 출력

            for(int i=0; i<result.length; i++) {

                  if(!"".equals(result[i]) && result[i] != null) {

                        System.out.print(result[i]);

                  }

            }

      }

}

 

 

결과