코딩 테스트 풀이 🛠

[프로그래머스] 공백으로 구분하기 2

엄성준 2023. 7. 9. 20:16

문제 설명

단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.

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

 

입출력 예
my_string result
" i    love  you" ["i", "love", "you"]
"    programmers  " ["programmers"]
입출력 예 설명

입출력 예 #1

  • 예제 1번의 my_string은 " i    love  you"로 공백을 기준으로 단어를 나누면 "i", "love", "you" 3개의 단어가 있습니다. 따라서 ["i", "love", "you"]를 return 합니다.

입출력 예 #2

  • 예제 2번의 my_string은 "    programmers  "로 단어는 "programmers" 하나만 있습니다. 따라서 ["programmers"]를 return 합니다.

 

나의 풀이

 

function solution(my_string) {
    return my_string.trim().split(/\s+/)
    // split(' ') => 공백문자 ''을 기준으로 분할시킴
    // split(/\s+/) => 연속 된 공백문자를 분할시킴
}

 

문제를 풀며 느낀 점

 

- trim() 함수를 통해서 문자의 앞 뒤 공백을 제거하였고 split() 함수를 통해 문자열을 분할하였어야 했는데 이때 문제점이 ' '을 통해서 진행하니까 ' '만 기준으로 분할된다는 것을 알게 되었고 연속된 공백 문자를 제거시키기 위해서는 split(/\s+/)를 했을 때 연속 공백을 제거할 수 있다는 것을 알게 되었습니다.