
문제설명
- 문자열로 구성된 배열 strings를 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬
제한사항
- strings는 길이 1이상 50이하인 배열
- strings의 원소는 소문자 알파벳, 길이 1이상 100이하인 문자열로 구성
- strings의 원소의 길이는 n보다 큼
- 인덱스 1의 문자가 같은 문자열이 여럿일 경우 사전순으로 앞선 문자열이 앞쪽에 위치
풀이
function solution(strings, n) {
let answer = [];
strings.sort((a,b)=>{
const first = a[n];
const second = b[n];
if(first === second)
return (a>b)-(a<b);
else
return (first>second)-(first<second)
})
answer = strings;
return answer;
}
체크포인트
- sort()이용
- 1) 문자열은 산술연산자가 아닌 비교연산자로 비교
- 2) return (a>b)-(a<b)
: -1인 경우(a를 b보다 작은 인덱스로 정렬)
: 0인 경우(a와 b의 순서를 바꾸지 않음)
: 1인 경우(b를 a보다 작은 인덱스로 정렬)
- 숫자 인경우
: return a-b(오름차순 정렬)
: return b-a(내림차순 정렬)