병합 정렬 javascript / merge sort
병합 정렬은 배열을 일정 크기로 분할한 다음 정렬하고 합치는 방식이다. [8,7,6,5,4,3,2,1] 이렇게 숫자가 있다면 [8,7,6,5] [4,3,2,1] [8,7] [6,5] [4,3] [2,1] 이렇게 나눈다. 그리고 나눠진 배열을 정렬한다. [7,8] [5,6] [3,4] [1,2] 앞에서부터 하나씩 비교하고 빼내서 결과를 만든다. [7,8] [5,6] 5가 더 작다. 5를 빼낸다. [5] [7,8] [6] 6이 더 작다. 6을 빼낸다. [5,6] [7,8] [] 배열에 7,8을 넣는다. [5,6,7,8] 이렇게 분할 된 두 배열을 합친다. 앞쪽의 5,6,7,8이 정렬되었다. 뒤쪽의 4,3,2,1도 마찬가지로 해본다. [3,4] [1,2] 1이 더 작다. 1을 빼낸다. [1] [3,4] [2]..
2020. 7. 26.
leetcode 알고리즘 - Intersection of Two Arrays II
두 배열에서 겹치는 부분을 찾아내는 문제다. Given two arrays, write a function to compute their intersection. Example 1: Input: nums1 = [1,2,2,1], nums2 = [2,2] Output: [2,2] Example 2: Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4] Output: [4,9] 답은 이렇다. /** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number[]} */ var intersect = function (nums1, nums2) { nums1.sort((a, b) => b - a); // 내림차 nums2.s..
2020. 7. 20.