문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.
제한사항
function solution(my_string) {
let num = '0123456789';
return [...my_string]
.filter((v) => {
return num.includes(v);
})
.map((v) => {
console.log(typeof v);
return +v;
})
.sort((a, b) => a - b);
}
function solution(my_string) {
return my_string.match(/\d/g).sort((a, b) => a - b).map(n => Number(n));
}
match(/정규표현식/플래그)
: "문자열"에서 "정규표현식"에 매칭되는 항목들을 배열로 변환\d
: 숫자 g
: 전역 검색 (모든 검색 결과를 배열로 반환)function solution(my_string) {
return my_string.split("").filter((v) => !isNaN(v)).map((v) => v*1).sort((a,b) => a-b)
}
isNaN()
을 사용했다!isNaN()
: 어떤 값이 NaN
인지 판별한다 function solution(my_string) {
return my_string.replace(/[^\d]/g,'').split('').map(v=>+v).sort();
}
이 풀이도 정규표현식을 잘 활용한 사례 같아서 가져와봤다.
[]
: 괄호안의 문자들 중 하나로 or 처리 묶음^
: 특정 문자열로 시작(시작점)[^문자]
: 괄호 안의 문자를 제외한 것^
는 대괄호 안에서 쓰면 제외의 뜻이고 대괄호 밖에서 쓰면 시작점 뜻replace()
: 정규표현식에 매칭되는 항목을 대체문자열로 변환