π algorithm/leetcode93 LeetCode 46 - Permutations (Medium) λ¬Έμ LeetCode - 46λ² νμ΄ κ³Όμ μ£Όμ΄μ§ λ°°μ΄λ‘ μμ΄μ λ§λλ λ¬Έμ μ λλ€. λ°±νΈλνΉ μ ν΅ν΄ λ°°μ΄μ μμλ€μ νλμ© μννλ©° μμ΄μ λ§λ€μ΄μ£Όλ©΄ λ©λλ€. μ΄λ λ°°μ΄ μ°μ°μΌλ‘ push or pop μ μ¬μ©νμ§ μκ³ javascript μ spread μ°μ°μλ‘ μλ‘μ΄ λ°°μ΄μ λ§λ€μ΄ λ겨주λ λ°©μμ μ¬μ©νμ΅λλ€. μ½λ /** * @param {number[]} nums * @return {number[][]} */ var permute = function (nums) { const ans = []; function permutation(selected) { if (selected.length === nums.length) { ans.push(selected); return; } for (let i = .. 2021. 3. 3. LeetCode 21 - Merge Two Sorted Lists (Easy) λ¬Έμ LeetCode - 21λ² νμ΄ κ³Όμ λ³ν© μ λ ¬ μ λ³ν© κ³Όμ μ μ§μ ꡬνν΄λ³΄λ λ¬Έμ μ λλ€. λ³ν© μ λ ¬ μ κ°κ°μ λ°°μ΄ μμλ₯Ό κ· λ±νκ² λλκ³ λλμ΄μ§ λ°°μ΄μ μ λ ¬νμ¬ ν©μΉλ λΆν μ 볡 μ μ¬μ©νλ μ λ ¬ μκ³ λ¦¬μ¦μ λλ€. λ λ°°μ΄μ΄ λͺ¨λ μ λ ¬λ μνμ΄κΈ° λλ¬Έμ λ°°μ΄μ κ°μ₯ μ μμλΆν° μλ‘ λΉκ΅ν΄μ£Όλ©° μμ μμλ€μ νλμ© μΆκ°ν΄λκ°λ©΄ λ©λλ€. λ§μ½ λ μ€ νλμ λ°°μ΄μ΄ λΉμ΄μμ κ²½μ°μλ λΉμ΄μμ§ μμ λ°°μ΄μ κ·Έλλ‘ μ΄μ΄λΆμ΄λ©΄ λ©λλ€. μ λ ₯μΌλ‘ λ μ€ ν λ°°μ΄μ΄ λΉμ΄μλ κ²μ΄ μ‘΄μ¬ν μ μμΌλ―λ‘ μ΄ λΆλΆμ λν΄ λ³λμ μμΈμ²λ¦¬λ₯Ό μ§νν΄μ€¬μ΅λλ€. μ½λ /** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = .. 2021. 3. 2. LeetCode 240 - Search a 2D Matrix II (Medium) λ¬Έμ LeetCode - 155λ² νμ΄ κ³Όμ μ΄μ°¨μ λ°°μ΄μμ λͺ©νκ°μ΄ μ‘΄μ¬νλμ§ νλ¨νλ λ¬Έμ μ λλ€. κ·Έλ₯ λΈλ£¨νΈ ν¬μ€ λ‘ μ κ·Όνλ€λ©΄ O(MN) μ μκ° λ³΅μ‘λλ‘ ν΄κ²°ν μλ μμ§λ§ μ’ λ ν¨μ¨μ μΈ νμμ μν΄ μ΄λΆ νμ μ μ μ©νμ΅λλ€. κ° νμ΄ μ€λ¦μ°¨μμΌλ‘ μ λ ¬λμ΄ μλ€λ μ μ μ΄μ©ν΄μ κ° νλ§λ€ μ΄λΆ νμ μ μνν΄ μνλ κ°μ΄ μ‘΄μ¬νλμ§ νλ¨ν©λλ€. μ½λ /** * @param {number[][]} matrix * @param {number} target * @return {boolean} */ var searchMatrix = function (matrix, target) { for (let row of matrix) { if (bisect(row, target)) return true; } r.. 2021. 3. 2. LeetCode 155 - Min Stack (Easy) λ¬Έμ LeetCode - 155λ² νμ΄ κ³Όμ μ€ν μ μ¬μ©ν΄μ min stack μ ꡬννλ λ¬Έμ μ λλ€. λ¨μνκ² κ΅¬ννλ©΄ μ΅μκ°μ μ°Ύμ λλ§λ€ Math.min μ μ¬μ©ν μλ μμ§λ§ λ¬Έμ 쑰건과 κ°μ΄ μμ μκ°μ μ΅μκ°μ μ°ΎκΈ° μν΄μλ λ€λ₯Έ λ°©λ²μ΄ νμν©λλ€. μ΄λ₯Ό μν΄ λ κ°μ μ€νμ μ¬μ©νμ¬ κ°μ μ μ₯νλλ‘ ν©λλ€. νλλ λ€μ΄μ¨ μμλλ‘ μμ μ¬λ¦¬λ μ€νμ΄κ³ λ€λ₯Έ νλλ μ΄μ λμνμ¬ νμ¬κΉμ§μ μ΅μκ°μ μ μ₯νλ μ€νμΌλ‘ μ¬μ©ν©λλ€. μλ₯Ό λ€μ΄ 1, 2, 0, 3 μ΄ μμλλ‘ μ λ ₯λλ€κ³ νλ€λ©΄ λ κ°μ μ€νμ λ€μκ³Ό κ°μ μνλ₯Ό κ°μ§κ² λ©λλ€. | 3 | | 0 | | 0 | | 0 | | 2 | | 1 | | 1 | | 1 | A μ€ν B μ€νλ°λΌμ minValue λ₯Ό ν΅ν΄ νμ¬κΉμ§μ μ΅μκ°μ .. 2021. 3. 2. LeetCode 39 - Combination Sum (Medium) λ¬Έμ LeetCode - 39λ² νμ΄ κ³Όμ μ€λ³΅ μ‘°ν© μ λ§λ€μ΄μ μ«μλ€μ ν©μ΄ target μ΄ λλ λͺ¨λ κ²½μ°λ₯Ό μ°Ύλ λ¬Έμ μ λλ€. μ¬κΈ°μ μ€λ³΅ μ‘°ν© μ΄λ μλ‘ λ€λ₯Έ nκ°λ₯Ό μ€λ³΅μ νμ©νμ¬ r κ°λ₯Ό μ ννλ κ²½μ° λ₯Ό λ§ν©λλ€. μ΄λ₯Ό μν΄μλ λ°±νΈλνΉ μ νμ©ν΄μ λͺ¨λ μ‘°ν©μ νμν΄μ£Όλ κ³Όμ μ΄ νμν©λλ€. κΈ°μ‘΄ μ‘°ν©μμλ i λ²μ©¨ μ«μλ₯Ό μ ννμ κ²½μ° κ·Έ λ€μ μ«μμΈ i + 1 λ²μ§Έ λΆν° νλμ© κ³¨λΌμΌνμ§λ§ μ€λ³΅μ νμ©νκΈ° λλ¬Έμ μ ν μμμ μ i λ²μ§Έ λΆν° ν΄μ£Όλ©΄ λ©λλ€. μ½λ /** * @param {number[]} candidates * @param {number} target * @return {number[][]} */ var combinationSum = function (candidates,.. 2021. 3. 2. LeetCode 20 - Valid Parentheses (Easy) λ¬Έμ LeetCode - 20λ² νμ΄ κ³Όμ μ€ν μ νμ©νλ λνμ μΈ κ΄νΈ μ λ§μΆκΈ° λ¬Έμ μ λλ€. λ«λ κ΄νΈ κ° λνλ¬μ λ μ€νμ κ°μ₯ μμ μ§μ΄ λ§λ μ¬λ κ΄νΈ κ° μ‘΄μ¬νλμ§ νλ¨νλ©΄ λλ λ¬Έμ μ λλ€. μ΄λ² λ¬Έμ λ₯Ό ν΅ν΄ javascript μ includes λ©μλλ₯Ό νμ©νλ λ°©λ²μ μ μ μκ² λμμ΅λλ€. || μ°μ°μλ‘ or μ²λ¦¬ ν΄μ£Όλ κ²μ΄ μ½λλ κΈΈμ΄μ§κ³ λ²κ±°λ‘μ λλ° μνλ μμκ° μ‘΄μ¬νλμ§ νλ¨νλ includes λ₯Ό νμ©ν΄μ μ½κ² 쑰건μ νλ¨ν μ μμμ΅λλ€. μ½λ /** * @param {string} s * @return {boolean} */ function top(stack) { return stack[stack.length - 1]; } var isValid = function (s.. 2021. 3. 2. μ΄μ 1 Β·Β·Β· 9 10 11 12 13 14 15 16 λ€μ