TIL
[코테연습] 1598. Crawler Log Folder
크라00
2024. 7. 10. 11:04
- 배열, 문자열 문제
- 문제해석
1. String[] 배열이 주어질때, 요소는 3가지 패턴 중 하나이다.
1-1. "../" 일때 폴더 앞으로 이동한다. ( 더이상 이동할 수 없을 때는 이동하지 않는다. )
1-2. "./" 일때 폴더 이동하지 않는다. ( 그대로 )
1-3. "x/" x폴더로 뒤로 이동한다 ( 폴더는 반드시 있다고 가정한다. )
2. 이때 String[] 배열만큼 움직였을때의 현재 position 을 리턴하라.
- 문제풀이
1. String[] 을 반복문으로 확인한다.
2. 요소를 split("/") 함수로 분해하여 앞의 글자를 확인한다. ( str.split("/")[0]
3. 앞의 글자가 '..' 일 경우 move 변수가 0이 아니라면 move--; 한다.
4. 앞의 글자가 'x' 일 경우 move 변수를 move++; 한다.
class Solution {
public int minOperations(String[] logs) {
int move = 0;
for (int i = 0; i < logs.length; i++) {
String log = logs[i];
String[] arr = log.split("/");
String filename = arr[0];
if (filename.equals("..")) {
if (move != 0) {
move--;
}
} else {
if (!filename.equals(".")) {
move++;
}
}
}
return move;
}
}