내 답
function solution(my_string) {
var regex = /[^0-9]/g;
var answer = [...my_string.replace(regex,'')].sort();
return answer.map((i)=>parseFloat(i));
}
1. 정규식 표현 /[^0-9]/g
- 문자열에서 숫자를 제외한 모든 문자를 찾는다
2. replace() 메서드 사용
- 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열 반환
- var answer = [...my_string.replace(regex,'')].sort();
- 문자열을 ""빈값으로 반환후 sort()를 사용하여 오름차순으로 정렬해준다
3. parseFloat()를 사용하여 숫자로 변환해준다
다른 분들 답
1. Match() 사용
function solution(my_string) {
return my_string.match(/\d/g).sort((a, b) => a - b).map(n => Number(n));
}
- match() 메서드는 문자열이 정규식과 매치되는 부분을 검색한다
2. filter() 사용
function solution(my_string) {
return my_string.split("").filter((v) => !isNaN(v)).map((v) => v*1).sort((a,b) => a-b)
}
- split() 메서드를 사용하여 입력된 문자열을 한글자씩 쪼개 배열로 만든다
- filter() 메서드를 이용하여 숫자가 아닌 요소를 제거
String.prototype.match() - JavaScript | MDN
match() 메서드는 문자열이 정규식과 매치되는 부분을 검색합니다.
developer.mozilla.org
isNaN() - JavaScript | MDN
isNaN() 함수는 어떤 값이 NaN인지 판별합니다. isNaN 함수는 몇몇 혼란스러운 케이스을 가지고 있으므로, ECMAScript 2015에서 추가한 Number.isNaN()으로 바꾸는 편이 좋을 수도 있습니다.
developer.mozilla.org
'기초다지기 > JS 코딩테스트' 카테고리의 다른 글
javascript 정수 배열중 두 개를 곱해 최대값 만들기 (0) | 2023.04.20 |
---|---|
javascript 을 이용해 삼각형 그리기 repeat() 사용 (0) | 2023.04.18 |
Lv.0 상자안에 들어갈 주사위 개수 map()사용 (0) | 2023.04.17 |
Lv.0 t시간에 2배씩 증가 Math.pow()이용 (0) | 2023.04.17 |
javascript 대소문자 변경하기 toUpperCase(), toLowerCase() (0) | 2023.04.12 |