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]);
}
}
}
}
결과
'코딩 문제 > 매일프로그래밍' 카테고리의 다른 글
매일프로그래밍 - 1의 갯수 찾기 (0) | 2021.02.01 |
---|---|
매일프로그래밍 - 최대 공약수 구하기 (0) | 2021.02.01 |
매일프로그래밍 - 원소 이동 (0) | 2021.02.01 |
매일프로그래밍 - 배열 안 해당문자 여부 확인 (0) | 2021.02.01 |
매일프로그래밍 - 정수 배열 정렬 알고리즘 구현 (0) | 2021.02.01 |