function solution(strings, n) {
var answer = [];
answer=strings.sort((a,b)=>{
const charArray=[...a];
const targetArray=[...b];
const char=charArray[n];
const target=targetArray[n];
if(char===target){
if(a<b)
return -1 ;
if(a==b)
return 0;
if(a>b)
return 1;
}
if(char>target)
return 1;
if(char<target)
return -1;
})
return answer;
}
문자열 대소 비교
사전 순서에서 낮을 수록 아스키코드가 낮다.
그러므로 대소비교를 했을때 낮은 것을 먼저 오게 하면 된다.
sort 함수 안의 compare function
compareFunction(a, b)이 0보다 작은 경우 a를 b보다 낮은 색인으로 정렬합니다. 즉, a가 먼저옵니다.
compareFunction(a, b)이 0을 반환하면 a와 b를 서로에 대해 변경하지 않고 모든 다른 요소에 대해 정렬합니다.
compareFunction(a, b)이 0보다 큰 경우, b를 a보다 낮은 인덱스로 소트합니다.
즉 a>b 일때는
banana apple 이므로
return 1을 하면
apple banana 가 된다.