✏️기록하는 즐거움
article thumbnail
반응형

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

|  제출

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의 값이 같은 경우로 다른 요소에 대해 정렬한다.

 

반응형
profile

✏️기록하는 즐거움

@nor_coding

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!