728x90
문제
문자열 myStr이 매개변수로 주어진다.
문자열이 주어졌을 때 문자 "a", "b", "c"를 구분자로 사용해 문자열을 나눈다.
"a", "b", "c"를 사용해 나눠진 문자열을 순서대로 저장한 배열을 반환하는 함수를 작성해라.
단, 구분자 사이에 다른 문자가 없는 경우에는 아무것도 저장하지 않는다.
반환하는 배열이 빈 배열이라면 ["EMPTY"] 가 반환된다.
예시
myStr | result |
"baconlettucetomato" | ["onlettu", "etom", "to"] |
"abcd" | ["d"] |
"cabab" | ["EMPTY"] |
728x90
나의 풀이
function solution(myStr) {
const tmp = [];
// 문자열을 배열로 만든 후
// value가 a, b, c인 값을 " "로 push하고,
// a, b, c가 아닌 값은 value를 push한다.
myStr.split("").map((v) => {
(v === "a" || v === "b" || v === "c")
? tmp.push(" ")
: tmp.push(v);
});
// join() 함수로 문자열로 만든 후
// split() 함수로 띄어쓰기를 없앤 후
// filter() 함수로 빈 값이 아닌 값만 반환한다.
const arr = tmp.join("").split(" ").filter((v) => v);
return arr.length ? arr : ["EMPTY"];
}
다른 풀이
// match() 함수와 표준식을 사용한다.
const solution= s => s.match(/[^a-c]+/g) || ['EMPTY'];
728x90
'🧬알고리즘 > Programmers' 카테고리의 다른 글
[JavaScript] 빈 배열에 추가, 삭제하기 (0) | 2024.06.15 |
---|---|
[JavaScript] 배열의 원소만큼 추가하기 (1) | 2024.06.14 |
[JavaScript] 문자열 바꿔서 찾기 (0) | 2024.06.13 |
[JavaScript] 간단한 식 계산하기 (1) | 2024.06.13 |
[JavaScript] 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (0) | 2024.06.13 |
댓글