문자열 myString이 주어집니다. "x"를 기준으로 해당 문자열을 잘라내 배열을 만든 후 사전순으로 정렬한 배열을 return 하는 solution 함수를 완성해 주세요.
단, 빈 문자열은 반환할 배열에 넣지 않습니다.
제한사항
function solution(myString) {
return myString.split('x').filter((x) => x.trim() !== '').sort();
}
split('x')
를 사용해서 'x'를 기준으로 문자열을 분리한다. filter()
메서드를 사용하여 공백을 제거한다. x !== ''
를 하니까 공백 제거가 되지 않는 것임...? 그래서 결국 trim()
을 사용해서 공백을 제거한 후에 공백을 제거한 후 필터링을 했다. 뭐였을까...?sort()
메서드를 통해 정렬 const solution=s=>s.match(/[^x]+/g).sort()
정규표현식을 사용한 풀이이다!
s.match([^x]+/g)
: 'x'가 아닌 문자가 1개 이상 연속으로 나오는 부분을 찾아낸다. 이를 통해서 공백을 효과적으로 제거한 후 입력받은 문자열 s에서 정규표현식과 일치하는 부분을 차즌ㄴ다. sort()
로 정렬function solution(myString) {
return myString
.split("x")
.filter((str) => str !== "")
.sort();
}
내가 원래 하려던 게 이거였는데...! 과연 권수갱은 뭘 잘못했떤 것일까요? 하지만 풀었죠?