LeetCode > 2591. Distribute Money to Maximum Children
·
🔒Algorithm
✅링크https://leetcode.com/problems/distribute-money-to-maximum-children/description/🔨문제풀이시간복잡도는 O(n) 으로 무리 없이 풀 수 있었다. 분기처리 잘 해주면 된다./** * @param {number} money * @param {number} children * @return {number} */var distMoney = function(money, children) { if (money
LeetCode [JS] > 392. Is Subsequence
·
🔒Algorithm
✅링크https://leetcode.com/problems/is-subsequence/description/✅풀이쉽게 문제 풀 수 있다. 시간 복잡도는 O(n) 이다. /** * @param {string} s * @param {string} t * @return {boolean} */var isSubsequence = function(s, t) { let sIdx = 0, tIdx = 0 while(sIdx
LeetCode [JS] > Third Maximum Number
·
🔒Algorithm
✅문제https://leetcode.com/problems/third-maximum-number/description/✅풀이Set으로 중복제거하고 시작하면 편하게 구할 수 있다. 시간복잡도는 O(NlogN) 으로 이런 이유는 js sorting algorithm 이 tim sort 방식을 사용하기 때문이다. 참고로 tim sort 방식은 merge sort 와 insertion sort를 결합하여 만든 sorting 방식이라고 한다. 자세히 알고 싶으면 https://d2.naver.com/helloworld/0315536 를 보면 된다./** * @param {number[]} nums * @return {number} */var thirdMax = function (nums) { const so..
LeetCode[JS] 53번 Maximum Subarray
·
🔒Algorithm
💡문제링크https://leetcode.com/problems/maximum-subarray/description/🔨풀이처음에 dp로 풀어야 되나 하면서 접근했던거 같은데 한참을 뚫어져라 처다보니 규칙성을 찾을 수 있었다. nums 배열을 순회하면서 max값을 갱신하고 만약 다음 수를 더했을 때 0이하이면 여태 더한 sum값을 초기화하면 된다.  /** * @param {number[]} nums * @return {number} */var maxSubArray = function(nums) { let max = nums[0] let sum = nums[0] let length = nums.length for(let i=1; i