https://school.programmers.co.kr/learn/courses/30/lessons/17686
function solution(files) {
return files.map((file) => {
const HEAD = file.match(/\D+/g)[0],
NUMBER = file.match(/\d+/g)[0],
TAIL = file.slice(file.indexOf(NUMBER) + NUMBER.length, file.length);
return { HEAD, NUMBER, TAIL };
}).sort((a, b) => {
const [A, B] = [a.HEAD.toLowerCase(), b.HEAD.toLowerCase()];
if (A > B) return 1;
else if (A === B) return (a.NUMBER * 1) - (b.NUMBER * 1);
return -1;
}).map((fileObj) => Object.values(fileObj).join(""));
}
'Coding Test > Programmers' 카테고리의 다른 글
[Programmers] (2018 KAKAO BLIND RECRUITMENT) Lv 2. [1차] 프렌즈4블록 (0) | 2023.03.06 |
---|---|
[Programmers] (Summer/Winter Coding(~2018)) Lv 2. 방문 길이 (0) | 2023.03.03 |
[Programmers] Lv 2. 롤케이크 자르기 (0) | 2023.02.27 |
[Programmers] (2021 KAKAO BLIND RECRUITMENT) Lv 2. 메뉴 리뉴얼 (0) | 2023.02.25 |
[Programmers] (깊이/너비 우선 탐색(DFS/BFS)) Lv 2. 게임 맵 최단거리 (0) | 2023.02.25 |
댓글