[iPhone] iPhone 14 시리즈 관련 루머 오피셜 발표 : 2022.09.07 (관련 뉴스) 가격 배터리 디자인 참고 https://www.moyoplan.com/phones/contents/spec-iphone14 아이폰14 (2022.8) | 출시일/가격/스펙/디자인/루머/비교는 모요 최신 아이폰14(iPhone 14) 정보, “M자 탈모 탈출?” 예상 디자인과 스펙까지 한 번에, 최신 소식 모요에서 다 모았다! www.moyoplan.com 기타 2022.08.21
Radix Sort (기수 정렬) Radix Sort(기수정렬) -> 다른 정렬알고리즘 처럼 두 수의 크기로 비교하는 것이 아니라, 자릿수로 비교하는 알고리즘 (버킷을 사용) (1000 과 12323 를 비교했을때 1000은 4자리, 12323은 5자리 숫자 인 것으로 비교) 10진수니깐 버킷을 10개 (0~9 버킷) 으로 시작한다. // number의 idx(자릿수)에 해당하는 숫자를 리턴 function getDigit(number, idx) { /** * Math.floor : 내림 * Math.abs : 절대값 반환 : number가 음수인 경우일 때를 대비 * Math.pow : 거듭제곱 */ return Math.floor(Math.abs(number) / Math.pow(10, idx)) % 10; } // 자릿수가 몇인지 .. Algorithm 2022.08.20
Quick Sort (퀵 정렬) Quick Sort 란? 하나의 배열을 피벗(pivot)을 기준으로 두 개의 배열로 분할하고,(피벗을 기준으로 큰건 오른쪽, 작은건 왼쪽) 분할된 배열을 정렬한 다음, 정렬된 두 배열을 합하여 전체가 정렬된 배열이 되게 하는 정렬 알고리즘. // 배열의 첫번째값을 기준(pivot)으로 잡고 왼쪽은 pivot보다 작은거, 오른쪽은 pivot보다 큰걸로 정렬 function pivot(arr, sidx = 0, eidx = arr.length - 1) { let pivot = arr[sidx]; let swapIdx = sidx; for (let i = sidx + 1; i arr[i]) { swapIdx++; swap(arr, swapIdx, i); } } swap(arr, swapIdx, sidx);.. Algorithm 2022.08.14
Merge Sort (합병 정렬) 합병 정렬이란 배열의 길이가 0 또는 1이 될때 까지 나누고 (배열의 길이가 0 또는 1이면 이미 정렬된 것으로 봄) 나눠진 배열을 다시 합병하면서 정렬하는 것이다. 같은 색깔끼리 같은 하나의 정렬된 배열 구현 방법 1. merge 하는 함수 작성 function merge(arr1, arr2) { const mergedArr = []; let i = 0; let j = 0; while (i arr2[j]) { mergedArr.push(arr2[j]); j++; } else { mergedArr.push(.. Algorithm 2022.08.07
Bubble Sort & Insertion Sort & Selection Sort 비교 이미 배열이 거의 정렬된 경우 Bubble Sort 랑 Insertion Sort이 Selection Sort보다 낫다. (Selection Sort는 언제나 Big O(n^2)라서 효율이 좋지 않다. 대신 구현은 쉽다.) Algorithm 2022.08.07
Insertion Sort (삽입 정렬) Insertion Sort란 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 배열을 정렬한다. function swap(arr, idx1, idx2) { let temp = arr[idx1]; arr[idx1] = arr[idx2]; arr[idx2] = temp; } // insertionSort가 아니라 이상하게 bubble sort처럼? 해버림 // function insertionSort(arr) { // for (let i = 1; i 0; j--) { // if (arr[j] < arr[j - 1]) { // swap(arr, j, j - 1); // } // } // } //.. Algorithm 2022.08.07
정렬 알고리즘 소개 정렬 알고리즘이란? Collection의 항목을 재배열하는 과정 15개의 정렬 알고리즘 영상 (소리 주의!) https://www.youtube.com/watch?v=kPRA0W1kECg 정렬 알고리즘을 배워야 하는 이유 1. 정렬이 프로그래밍에서 흔하게 사용되기 때문. 2. 몇몇 알고리즘이 객관적으로 나머지보다 빠르기는 하지만, 특정 상황에서는 어떤 알고리즘이 더 빠르기 때문. 3. 정렬은 전형적인 면접 주제 정렬 알고리즘 애니메이션 (삽입, 선택, 버블, 셸, 합병, 힙, 퀵) https://www.toptal.com/developers/sorting-algorithms Sorting Algorithms Animations Animation, code, analysis, and discussion o.. Algorithm 2022.08.06