반응형
| 제출
function solution(strings, n) {
return strings.sort((a, b) => {
if (a[n] > b[n]) return 1;
else if (a[n] < b[n]) return -1;
else return a > b ? 1 : -1;
});
}
| 풀이과정
현재 strings 배열의 요소 중 인덱스가 n인 글자를 기준으로 정렬해야 하기 때문에 sort 메서드의 매개변수로 compareFunction을 정의하여 정렬한다.
| 개념
Array.prototype.sort()
- 문자열의 유니코드 코드 포인트에 따라 정렬한 배열이 반환된다.
- compare 함수가 제공되면 배열 요소는 compare 함수의 반환 값에 따라 정렬된다.
- compareFunction(a, b) < 0 : a를 b보다 낮은 색인으로 정렬 (오름차순)
- compareFunction(a, b) > 0 : b를 a보다 낮은 색인으로 정렬 (내림차순)
- compareFunction(a, b) = 0 : a와 b의 값이 같은 경우로 다른 요소에 대해 정렬한다.
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 나누어 떨어지는 숫자 배열 - level 1 (javascript) (0) | 2022.08.22 |
---|---|
[프로그래머스] 두 정수 사이의 합 - level 1 (javascript) (0) | 2022.08.22 |
[프로그래머스] 문자열 내 p와 y의 개수 - level 1 (javascript) (0) | 2022.08.22 |
[프로그래머스] 문자열 내림차순으로 배치하기 - level 1 (javascript) (0) | 2022.08.01 |
[프로그래머스] 문자열 다루기 기본 - level 1 (javascript) (0) | 2022.08.01 |