[자바스크립트] 2차원 배열 1차원으로 바꾸기
코드 let arr = [10, 13, 10, 11, 15, 12, 32, 30, 23, 11, 11, 25, 50, 33, 15, 29, 27, 21, 37, 27, 18, 13, 30, 13, 16]; let newArr = []; while(arr.length) newArr.push(arr.splice(0,5)); console.log(newArr); arr.length가 0이 되기 전까지 1줄씩 splice하여 newArr에 넣는다. 출력결과
2021. 3. 18.
[자바스크립트] Array.from() - 배열 초기화 한번에 하기
정말 간단한 한줄짜리 코드이다. 일일히 반복문을 돌리며 초기화를 했는데, 이 방법을 사용하면 그렇게 할 필요가 없다! 자바스크립트 Array 객체에는 Array.from() 이라는 함수가 존재하는데 길이 객체와 값을 반환하는 콜백함수를 매개변수로 넘겨주면 된다. let answer = Array.from({length:5}, ()=>1); console.log(answer); // 결과 : [1, 1, 1, 1, 1] answer = Array.from({length:5}, (v, i)=> i); console.log(answer); // 결과 : [0, 1, 2, 3, 4] Array.from() 함수의 특징은 얕은 복사(shallow-copied) 된 새로운 객체를 생성한다는 것이다. Array.fr..
2021. 3. 17.
[자바스크립트/알고리즘] Leetcode - 부분 배열의 최대합
[문제] 53. Maximum Subarray Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum. [예시] Input Output [-2,1,-3,4,-1,2,1,-5,4] 6 [1] 1 [5,4,-1,7,8] 23 [풀이] var maxSubArray = function(nums) { for(let i = 1; i < nums.length; i++){ nums[i] = Math.max(nums[i], nums[i]+nums[i-1]); } return Math.max(...nums) }; 반복문을 돌면서 nums..
2021. 3. 13.
[자바스크립트/알고리즘] LeetCode - 정렬된 두 리스트 합치기
[문제] 21. Merge Two Sorted Lists Merge two sorted linked lists and return it as a sorted list. The list should be made by splicing together the nodes of the first two lists. [예시] Input Output l1 = [1,2,4], l2 = [1,3,4] [1,1,2,3,4,4] l1 = [], l2 = [] [] l1 = [], l2 = [0] [0] [풀이] /** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * th..
2021. 3. 7.