Leetcode 414. Third Maximum Number
·
Algorithm
정수 배열 번호가 지정되면 이 배열에서세 번째 고유한 최대 숫자를 반환한다.세 번째 최대값이 존재하지 않으면 최대값을 반환한다.문제 접근배열의 length에 따라 return값이 달라진다는 의미였다.예제를 봤을 때 배열 내 중복되는 수가 있으므로Set을 활용해 중복을 제거하였고 배열에서 세 번째 최대값이라는 키워드가 있어sort를 통한 정렬로 값을 추려내고자 했다. 처음엔 오름차순으로 코드를 전개했으나idx 처리가 까다로워 내림차순으로 변경해 코드를 전개했다./** * @param {number[]} nums * @return {number} */var thirdMax = function(nums) { const sort = nums.sort((a,b)=> b-a); const set = ne..
sort()의 사용법
·
TIL
기존의 나는 integer 타입의 데이터가 들어있는 배열에만 sort 메서드를 사용해왔었고, 어느새 오름차순, 내림차순 정렬만 기억하고 있었다. 하지만 알고리즘 문제를 풀던 중 문자열을 정렬해야 할 필요가 있었고 integer를 정렬할 때의 방식대로 오름차순, 내림차순을 통해 string 배열을 정렬했을 때 전혀 정렬이 되지 않은 모습을 확인할 수 있었다. 위의 코드를 보고 문자열을 정렬하기 위해선 처리해주는 방식이 달라야 한다는 것을 알게되었다. arr.sort([compareFunction]) 위의 구문에서 compareFunction을 생략하면 배열은 각 요소의 문자열 변환에 따라 각 문자의 유니 코드 코드 포인트 값에 따라 정렬된다. 유니코드가 정확하게 무엇인지는 알지 못하지만 sort()만 작성..