문제
단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- my_string 은 영소문자와 공백으로만 이루어져 있습니다.
- 1 ≤ my_string 의 길이 ≤ 1,000
- my_string 의 맨 앞과 맨 뒤에도 공백이 있을 수 있습니다.
- my_string 에는 단어가 하나 이상 존재합니다.
import java.util.ArrayList;
class Solution {
public String[] solution(String my_string) {
String[] myStringArr = my_string.split(" ");
ArrayList<String> strList = new ArrayList<String>();
for(String strArr : myStringArr) {
if(strArr.equals("")) {
continue;
}
strList.add(strArr);
}
String[] answer = strList.toArray(new String[strList.size()]);
return answer;
}
}
공백이 몇개던간에 공백은 알아서 split 을 해줄 수 없나 싶었지만, 지식이 많이 않은터라 일단 알고있는 방법으로 해결했다. 먼저 공백 하나를 기준으로 나눈 후 빈 문자열을 리스트에서 제외하는 방법이였다.
그런데 역시 정규식... split("[ ]+")을 쓰면 공백 "하나 이상"을 알아서 판단해서 split 해준다...
멋지다 규식아
출처
https://school.programmers.co.kr/learn/courses/30/lessons/181868