728x90
이번 포스팅에서는 ▶정규 표현식을 사용하기에 적절한 기초문제가 있어 정리해보고자 합니다.
문제설명
단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요
제한사항
- my_string은 영소문자와 공백으로만 이루어져 있습니다.
- 1 ≤ my_string의 길이 ≤ 1,000
- my_string의 맨 앞과 맨 뒤에도 공백이 있을 수 있습니다.
- my_string에는 단어가 하나 이상 존재합니다.
입출력 예 & 설명
- 입출력 예 #1
- 예제 1번의 my_string은 " i love you"로 공백을 기준으로 단어를 나누면 "i", "love", "you" 3개의 단어가 있습니다. 따라서 ["i", "love", "you"]를 return 합니다.
- 예제 1번의 my_string은 " i love you"로 공백을 기준으로 단어를 나누면 "i", "love", "you" 3개의 단어가 있습니다. 따라서 ["i", "love", "you"]를 return 합니다.
- 입출력 예 #2
- 예제 2번의 my_string은 " programmers "로 단어는 "programmers" 하나만 있습니다. 따라서 ["programmers"]를 return 합니다.
나의 풀이
먼저 매개변수로 받은 문자열 str을 split() 함수를 사용하여 공백을 기준으로 나눠줍니다.
그러면 공백을 기준으로 문자열 str을 나눠 준다면 위와 같습니다.
그다음 공백을 기준으로 나눠준 문자열 str을 filter() 함수를 사용하여 요소가 존재한다면 (값이 있다면) 새로운 배열을 만들어서 마무리 했습니다.
다른 풀이
매개변수로 받은 문자열 my_string을 split() 함수와 정규식을 사용하여 분리하면 다음과 같은 반환값이 나옵니다.
- ["","i","love","you"]
- ["","programmers",""]
그 다음 filter()함수를 사용하여 filter() 함수의 특징( 배열의 요소를 전달 인자로 받고, 결과로 true 또는 false를 반환)에 따라 값(e)이 있는 요소들만 새로운 배열로 만듭니다.
- \s는 공백 문자를 의미
- g 플래그는 전역 검색을 의미
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv0 5명씩 (JavaScript) (1) | 2024.01.20 |
---|---|
[프로그래머스] Lv0 부분 문자열 이어 붙여 문자열 만들기 (JavaScript) (0) | 2024.01.20 |
[프로그래머스] 순서 바꾸기 (JavaScript) (0) | 2024.01.15 |
[프로그래머스] Lv0 배열 비교하기 (JavaScript) (1) | 2024.01.15 |
[프로그래머스] 첫 번째로 나오는 음수 (JavaScript) (0) | 2024.01.14 |