본문 바로가기
기초다지기/JS 코딩테스트

javascript 입력된 문자열에서 숫자 추출하기

by 김빵그 2023. 4. 18.

내 답

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