본문 바로가기

Algorithm/Programmers

Level 0: 정규식 사용하여 문자열을 공백으로 구분하기

이 문서의 내용

    문제 설명

    단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어집니다.

    • my_string은 영소문자와 공백으로만 이루어져 있습니다.
    • 1 ≤ my_string의 길이 ≤ 1,000
    • my_string의 맨 앞과 맨 뒤에도 공백이 있을 수 있습니다.
    • my_string에는 단어가 하나 이상 존재합니다.

    my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.

    더보기

    입력#1 예시

    " i    love  you"

    출력#1 예시

    ["i", "love", "you"]

    제공되는 기본 코드는 다음과 같습니다.

    class Solution {
        public String[] solution(String my_string) {
            String[] answer = {};
            return answer;
        }
    }

    문제 풀이

    split(" ")와 같이 사용하면 공백이 연속되는 경우에 대한 처리가 복잡해집니다. split()에서 정규식을 사용하여 문제를 단순화합니다. 

    class Solution {
        public String[] solution(String my_string) {
            return my_string.trim().split("[ ]+");
        }
    }
    코드 비고
    Line 3 trim() 주어진 문자열의 가장 앞과 가장 뒤에 포함된 공백을 제거합니다.
    입력#1 예시에서  i    love  youi    love  you가 됩니다.
    split("[ ]+") 문자열을 정규식에 따라서 구분합니다.
    정규식 [ ]+에서 [ ]는 공백을 의미하며 [ ]+는 공백이 한 번 이상 반복됨을 의미합니다.