프로그래머스

[프로그래머스] 파일명 정렬 (javascript)

해랑쓰 2021. 4. 13. 22:41
728x90
반응형

javascript sort가 제자리 정렬이 아니어서 제자리 정렬을 하기 위해서 index정보를 저장한다음 

정렬 조건에 추가해야된다는 것을 알게 되었다

 

정규표현식없이 for문을 돌면서 heade, number, tail을 분리했는데 계속 모든 예제가 통과되지가 않아서 일단 정규표현식으로 해봤다. 지쳐서 내일 다시 구현으로 분리해봐야겠다.

function solution(files) {
    var answer = [];
    let newFiles=[];
    for(let k=0;k<files.length;k++){
        let f=files[k];
         const reg = /(\d+)/g;
        newFiles.push([k,...f.split(reg)]);
     
    }
    
    newFiles.sort((a,b)=>{
        let sa=a[1].toLowerCase();
        let sb=b[1].toLowerCase();
        if(sa===sb){
            let na=Number(a[2]);
            let nb=Number(b[2]);
            if(na>nb)return 1;
            else if(na<nb)return -1;
            return a[0]-b[0];
        }else if(sa>sb)return 1;
        else return -1;
       
    })
    return newFiles.map((file)=>{
        file.shift();
        return file.join("");
    })
}


728x90
반응형