파일명 정렬 자바스크립트

HyosikPark·2020년 12월 2일
0

알고리즘

목록 보기
57/72
function solution(files) {
    
   return files.map(e => e.split(/(\d+)/))
           .sort((a,b) => {
       if(a[0].toLowerCase() < b[0].toLowerCase()) return -1;
       if(a[0].toLowerCase() > b[0].toLowerCase()) return 1;
       
       if(+a[1] < +b[1]) return -1;
       if(+a[1] > +b[1]) return 1;
       
   }).map(e => e.join(''))
    
}

NUMBER를 기준으로 split하고 나서 sort메소드가 핵심.
HEAD를 소문자로 만들어 준 뒤 string 오름차순을 해주고
만약 HEAD가 대소문자 구분없이 동일한 문자라면.
NUMBER순으로 정렬해준다.
이때 01 001 0001 같이 앞에 0을 없애주기 위해 +를 붙여 Number 자료형으로 변환.
정렬후에는 다시 join

0개의 댓글