✏️ 230610 TIL

박민우·2023년 6월 10일
0

✏️ TIL

목록 보기
6/6
post-thumbnail

강의 내용을 단순히 요약하는 수준이었던 지금까지의 TIL을 반성하며,, 🥺

자세한 강의 내용은 주제별로 정리하고, 앞으로의 TIL은 이렇게 써보려고 한다 !

  • 오늘 학습한 내용만 간단하게 !
  • 새롭게 알게 된 점, 느낀 점
  • 공유하고 싶은 부분이 있다면, 해당 부분만 자세하게 !

✏️ 오늘 학습한 내용



🆕 새롭게 알게 된 점

정렬 문제를 풀면서,

배열을 정렬하는 sort() 메서드를 사용해야 하는 상황이 있었는데, 각 원소들을 비교할 때 내가 원하는 조건으로 비교하기 위해 sort() 메서드에 매개변수로 전달해주는 함수를 어떤 식으로 정의해야 하는지 헷갈려서 이에 대해 알아보았다.


간단히 정리하자면,

arr.sort([compareFunction])

  1. compareFunction(a,b)가 주어지지 않을 경우, 입력값들이 모두 string으로 변환되어 유니코드 표준으로 정렬된다(오름차순)
  2. compareFunction(a, b)의 return 값이
    • 0보다 작으면, a의 index가 b보다 작게 설정된다
    • 0보다 크면, b의 index가 a보다 작게 설정된다.

이를 이용해 내 코드에 다음과 같이 적용할 수 있었다.

function solution(numbers) {
    numbers.sort((a,b) => {  
        let compare_a = a.toString() + b.toString();
        let compare_b = b.toString() + a.toString();
        return compare_b - compare_a;
    });
    
    return numbers.join("");
}

출처 및 참고

profile
꾸준히, 깊게

0개의 댓글