본문 바로가기
코딩테스트/자바 Level 0

[Java] 공백으로 구분하기 2

by onggury 2023. 7. 24.

문제

단어가 공백 한 개 이상으로 구분되어 있는 문자열 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