단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
공백을 기준으로 나누는 배열을 만든 다음에 List에 공백을 제외하고 담아주면 되지 않을까?
import java.util.*;
class Solution {
public String[] solution(String my_string) {
String[] answer;
List<String> str = new ArrayList<>();
String[] arr = my_string.split(" ");
for(int i = 0 ; i < arr.length ; i++){
if(arr[i].equals(" ")){
continue;
} else {
str.add(arr[i]);
}
}
answer = str.stream().toArray(String[]::new);
return answer;
}
}
공백이 제대로 다 삭제가 되지 않는데 어디가 문제일까?
import java.util.*;
class Solution {
public String[] solution(String my_string) {
String[] answer;
List<String> str = new ArrayList<>();
String[] arr = my_string.split("\\s+");
for(int i = 0 ; i < arr.length ; i++){
if(arr[i].equals("\\s")){
continue;
} else {
if(!arr[i].isEmpty()){
//연속된 구분자로 인해서 빈문자열이 발생하므로 제외
str.add(arr[i]);
}
}
}
answer = str.stream().toArray(String[]::new);
return answer;
}
}
split
: 주어진 구분자를 기준으로 문자열을 나누는 함수java의 경우에는
위 그림처럼 표현해 이스케이프문자의 시작을 표현해야한다.