-
문제
https://programmers.co.kr/learn/courses/30/lessons/17686
코딩테스트 연습 - [3차] 파일명 정렬
파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램
programmers.co.kr
How to Solve ?
나는 무적이다. "regex"는 신이고
function solution(files) { let answer = []; // 숫자를 기준으로 split 하게 만드는 regex const reg = /(\d+)/g; for (let i = 0; i < files.length; i++) { answer.push({ index: i, value: files[i].split(reg) }); } // output : { index : 1, value : img, 12, .png } answer.sort((a, b) => { const headerA = a.value[0].toLowerCase(); const headerB = b.value[0].toLowerCase(); if ( headerA < headerB ) return -1; else if ( headerA > headerB ) return 1; const numberA = parseInt(a.value[1]); const numberB = parseInt(b.value[1]); if ( numberA < numberB ) return -1; else if ( numberA > numberB ) return 1; else { if ( a.index < b.index ) return -1; else return 1; } }); return answer.map((each) => each.value.join("")); }
'PS > 프로그래머스' 카테고리의 다른 글
[ 프로그래머스_ Lv3 ] 야근 지수 ( 그리디 - 자바스크립트 ) (0) 2021.06.26 [ 프로그래머스_Lv2 ] 튜플 ( 문자열 - 자바스크립트 ) (0) 2021.06.26 [ 프로그래머스_Lv3 ] 섬 연결하기 ( 크루스칼 - 자바스크립트 ) (0) 2021.06.20 [ 프로그래머스_Lv3 ] 단속카메라 ( 그리디 - 자바스크립트 ) (0) 2021.06.19 [ 프로그래머스_Lv2 ] 주식가격 ( 스택 - 자바스크립트 ) (0) 2021.06.18 댓글