<문제 설명>
제한사항
입출력 예 설명
문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 100
- my_string에는 숫자가 한 개 이상 포함되어 있습니다.
- my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다. - - -
"hi12392" | [1, 2, 2, 3, 9] |
"p2o4i8gj2" | [2, 2, 4, 8] |
"abcde0" | [0] |
입출력 예 설명
입출력 예 #1
- "hi12392"에 있는 숫자 1, 2, 3, 9, 2를 오름차순 정렬한 [1, 2, 2, 3, 9]를 return 합니다.
입출력 예 #2
- "p2o4i8gj2"에 있는 숫자 2, 4, 8, 2를 오름차순 정렬한 [2, 2, 4, 8]을 return 합니다.
입출력 예 #3
- "abcde0"에 있는 숫자 0을 오름차순 정렬한 [0]을 return 합니다.
<제출 답안>
function solution(my_string) {
return [...my_string].filter(x => Number(x) < 10).sort((a,b) => a-b).map(x => Number(x))
}
Number(x) < 10 을 통해 0~9까지의 숫자를 골라냈다.
하지만 아래처럼 정규식과 match함수를 통해 원하는 문자를 불러오는게 훨씬 편할 것이다.
function solution(my_string) {
return my_string
.match(/[0-9]/g)
.map(str => +str)
.sort((a, b) => a - b);
}
<보충>
match() 메서드는 문자열이 정규식과 매치되는 부분을 검색합니다.
문법
str.match(regexp)
Copy to Clipboard매개변수
regexp
정규식 개체입니다. RegExp가 아닌 객체 obj가 전달되면, new RegExp(obj)를 사용하여 암묵적으로 RegExp로 변환됩니다. 매개변수를 전달하지 않고 match()를 사용하면, 빈 문자열:[""]이 있는 Array가 반환됩니다.
결과 값
'🗃️javascript > 프로그래머스' 카테고리의 다른 글
문자열 내 p와 y의 개수(Lv.1)[정규표현식 사용, match()] (0) | 2023.01.04 |
---|---|
정수 제곱근 판별(Lv.1)[parseInt()정리, Math.sqrt사용] (0) | 2023.01.04 |
가위 바위 보(Lv.0)[이중 삼항연산자 사용, 객체배열 선언 맛보기] (0) | 2023.01.03 |
대문자와 소문자(Lv.0)[고차 함수에 index 적용해서 풀기] (0) | 2023.01.03 |
자릿수 더하기(Lv.1)[reduce((누적값, 현재값) => 누적 적용식, 초기값)] (0) | 2023.01.03 |