개발로그필름

[프로그래머스] 문자열 정렬하기(1) javascript 본문

coding test/프로그래머스

[프로그래머스] 문자열 정렬하기(1) javascript

yuullog 2023. 5. 18. 16:21
728x90
반응형
SMALL

https://school.programmers.co.kr/learn/courses/30/lessons/120850

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제

 

나의 풀이

function solution(my_string) {
    var answer = [];
    const regex = /[^0-9]/g;
    const result = my_string.replace(regex, "")
    const num = (n) => Number(n);
    answer = Array.from(result, num).sort()    
   
    return answer;
}

먼저 regex에 정규식 정의를 해줍니다. [^0-9]는 숫자를 제외한다는 뜻이에요

계속 결과값이 [1,2,3,4,5] 이런식으로 나오는게 아니라 ["1", "2", "3"] 이렇게 출력돼서 시간이 좀 걸렸는데

num이라는 함수를 만들어 n을 숫자로 먼저 변환을 시켜주고 

Array.from()을 사용해 숫자만 있는 result를 num 함수를 이용해 다 숫자로 변환시켜주고 sort()를 해서 배열로 return 하니까 잘 출력되더라구요!

 

다른 사람 풀이

function solution(my_string) {
    return my_string.match(/\d/g).sort((a, b) => a - b).map(n => Number(n));
}

match()를 일치하는 정규식을 반환합니다

sort()를 사용해 오름차순 정렬을 하고 

map()을 사용해 안에 있는 원소를 Number() 숫자 형태로 변환시켜줍니다

 

 

반응형
LIST
Comments