728x90
문제
문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.
해결 과정
function solution(my_string) {
let emptyValue = my_string.replace(/[a-z]/g, '');
let emptyValue2 = Array.from(String(emptyValue), Number);
return emptyValue2.sort();
}
replace()를 이용하여 a-z의 문자들을 my_string에서 부터 제거해줬다.
그렇게 되면 값들이 숫자로 변환해야하는데 방법을 몰라서 구글링했다.
숫자를 문자열로 만들어 주기 위해 참고한 사이트 👇
https://stackoverflow.com/questions/19182266/how-to-convert-an-integer-into-an-array-of-digits
Array.from(String(emptyValue), Number);
위의 코드에 대한 설명을 해보겠다.
- emptyValue의 값은 현재 숫자이다. 숫자이기에 문자열로 변환시켜 준다.
- 문자열로 변환하는 이유는 각 자리 숫자를 개별 요소로 다루기 위해서이다. 자바스크립트에서는 숫자를 바로 분리하는 방법이 없기에 숫자를 문자열로 변환하여 접근한다.
- 숫자를 문자열로 변환시켜줬으면 문자열을 배열로 변환한다. 문자열로 변환시키기 위해 Array.from()을 이용한다.
- 그 뒤 각 문자를 Number()함수를 이용하여 숫자로 이루어진 배열로 만들었다.
728x90
'⌨️ 프로그래머스 > 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스] 컨트롤 제트 🎛️ | JS (0) | 2024.08.07 |
---|---|
[프로그래머스] 숨어있는 숫자의 덧셈(1) | JS (0) | 2024.07.22 |
[프로그래머스] 모음 제거 | JS (0) | 2024.07.22 |
[프로그래머스] 최댓값 만들기(1) | JS (0) | 2024.07.16 |
[프로그래머스] 합성수 찾기 🔢 | JS (0) | 2024.07.15 |