[JavaScript] localeCompare
·
JavaScript
sort 로 문자열을 정렬하는 작업을 쉽게해주는 것을 알아냈다. 일반적으로 sort로 문자열을 정렬할 때는 function solution(strings, n) { return strings.sort((a, b) => { if(a[n] b[n]) { return 1; } else if (a < b) { return -1; } else { return 1 } }); } 이런식으로 계산했다. 숫자의 경우 a - b 같은 방식으로 정렬을 쉽게하였는데, 문자열에선 이런 방법이 불가능하다. 이것을 쉽게해주는 것이 localeCompare이다. string.localeCompare(compareString) 사용 방법이 아주 간단한데, string..
객체 정렬하기
·
JavaScript
코딩을 하다보면 빈번하게 객체를 정리 해야하는 경우를 만나게 된다. 배열의 경우엔 Sort 함수를 사용하면 되지만 객체의 경우엔 몇 가지 제약이 있다. 기본적으로 Object를 저장형 데이터로 사용할 경우에는 Object를 사용하기 보단 Map을 사용하는 것이 좋다. 어쩔수 없이 Object를 사용하는데 정렬이 필요할 때 참고 바랍니다! 다양한 해결 방법이 있었는데, 그중 하나를 정리한다. let object = { a : 20, b : 30, c : 40, d : 35, } 형식의 객체가 있다고 했을 때 Value를 기준으로 정리하는 방식이다. const sortObject = []; for(const item in object) { sortObject.push([item, object[item]]);..
[알고리즘] 퀵 정렬_원리
·
알고리즘/풀이 힌트
앞서 배운 선택 정렬 , 버블 정렬, 삽입정렬 알고리즘 모두 시간 복잡도 O(N ^ 2)를 가지는 알고리즘이다. 이러한 알고리즘은 데이터의 갯수가 10만 개만 넘어가도 일반적인 상황에서는 매우 사용하기 어려운 알고리즘이다. ​ 퀵 정렬 : 하나의 큰 문제를 두 개의 작은 문제로 분할하는 식으로 빠르게 정렬 -> 특정한 값을 기준으로 큰 숫자와 작은 숫자를 서로 교환한 뒤 배열을 반으로 나눈다. ​ 퀵 정렬은 특정한 기준 값이 있는데 이를 피벗이라고 하며 피벗값을 기준으로 왼쪽과 오른쪽으로 나눈다. 퀵 정렬의 예 3 7 8 1 5 9 6 10 2 4 피벗 값(일반적으로 가장 앞에있는 값) : 3 3 2 8 1 5 9 6 10 7 4 검색했을 때 3보다 큰 7과 N이 1,000,000일 때 ? N : 20