입출력 예
str_list | result |
["u", "u", "l", "r"] | ["u", "u"] |
["l"] | [] |
입출력 예 설명
입출력 예 #1
- "r"보다 "l"이 먼저 나왔기 때문에 "l"의 왼쪽에 있는 문자열들을 담은 리스트인 ["u", "u"]를 return합니다.
입출력 예 #2
- "l"의 왼쪽에 문자열이 없기 때문에 빈 리스트를 return합니다.
코드
class Solution {
public String[] solution(String[] str_list) {
String[] result = {};
for(int i = 0; i < str_list.length; i++) {
if(str_list[i].equals("l") || str_list[i].equals("r")) {
if(str_list[i].equals("l")) {
result = new String[i];
for(int ii = 0; ii < i; ii++) {
result[ii] = str_list[ii];
}
break;
} else {
result = new String[str_list.length - i - 1];
for(int ii = 0; ii < str_list.length - i - 1; ii++) {
result[ii] = str_list[i + 1 + ii];
}
break;
}
}
}
return result;
}
}

Arrays.copyOfRange 방법
import java.util.Arrays;
class Solution {
public String[] solution(String[] str_list) {
for (int i = 0; i < str_list.length; i++) {
if (str_list[i].equals("l") || str_list[i].equals("r")) {
if (str_list[i].equals("l")) {
// "l" 이전까지 복사
return Arrays.copyOfRange(str_list, 0, i);
} else {
// "r" 이후부터 복사
return Arrays.copyOfRange(str_list, i + 1, str_list.length);
}
}
}
// "l"이나 "r"이 없으면 빈 배열 반환
return new String[0];
}
}

Share article