분류 전체보기87 [Leetcode][Javascript][Easy] 144. Binary Tree Preorder Traversal /** * https://leetcode.com/problems/binary-tree-preorder-traversal/ * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) * this.right = (right===undefined ? null : right) * } */ /** * @param {TreeNode} root * @return {number[]} */ var preorderTraversal = function(root) { var bt = new B.. 2021. 7. 5. [Leetcode][Javascript][Easy] 14. Longest Common Prefix https://leetcode.com/problems/longest-common-prefix/ /** * @param {string[]} strs * @return {string} */ var longestCommonPrefix = function(strs) { return strs.reduce((result, str) => { result = compareStr(result, str); return result; }, strs[0]); }; function compareStr(str1, str2) { const minLength = Math.min(str1.length, str2.length); let idx = minLength; for (let i = 0; i < minLength; i++) { i.. 2021. 7. 5. [Leetcode][Javascript][Medium] 11. Container With Most Water https://leetcode.com/problems/container-with-most-water/ /** * @param {number[]} height * @return {number} */ var maxArea = function(height) { var p1 = 0, p2 = height.length - 1; var max = {area: 0, height: 0}; while(p1 !== p2) { var minHeight = Math.min(height[p1], height[p2]); var width = p2 - p1; if (minHeight > max.height) { var area = minHeight * width; if (max.area 2021. 7. 4. [Leetcode][Javascript][Easy] 9. Palindrome Number /** * https://leetcode.com/problems/palindrome-number/ * @param {number} x * @return {boolean} */ var isPalindrome = function(x) { if (x < 0) { return false; } if (x === Number.parseInt(x.toString().split("").reverse().join(""))) { return true; } else { return false; } }; 2021. 7. 4. [Leetcode][Javascript][Medium] 7. Reverse Integer /** * https://leetcode.com/problems/reverse-integer/ * @param {number} x * @return {number} */ var reverse = function(x) { var reverseNumArr = Math.abs(x).toString().split("").reverse(); var zeroRemovedArr = removeZero(reverseNumArr); if (x < 0) { zeroRemovedArr.unshift("-"); } var resultNum = zeroRemovedArr.join(""); if (rangeCheck(resultNum)) { return resultNum; } else { return 0; } }; functio.. 2021. 7. 4. [Leetcode][Javascript][Medium] 2. Add Two Numbers /** * https://leetcode.com/problems/add-two-numbers/ * * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } */ /** * @param {ListNode} l1 * @param {ListNode} l2 * @return {ListNode} */ var addTwoNumbers = function(l1, l2) { var carry = 0; var n1 = l1, n2 = l2; var answerNode = new ListNod.. 2021. 7. 2. [Leetcode][Javascript][Easy] 1. Two Sum /** * @param {number[]} nums * @param {number} target * @return {number[]} */ var twoSum = function(nums, target) { var answer = []; var hashTable = nums.reduce((obj, num, idx) => { obj[num] = idx; return obj; }, {}); for(let i=0; i < nums.length; i++) { if (hashTable[target - nums[i]] !== undefined && hashTable[target - nums[i]] !== i) { answer.push(i, hashTable[target - nums[i]]); break; } } r.. 2021. 7. 1. [Leetcode][Javascript][Easy] 155. Min Stack https://leetcode.com/problems/min-stack/ Min Stack - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com /** * initialize your data structure here. */ var MinStack = function() { this._value = []; this._sortedValue = []; }; /** * @param {number} val * @return {void} */ MinStack.prototy.. 2021. 6. 30. [프로그래머스][자바스크립트][Level2] 기능개발 https://programmers.co.kr/learn/courses/30/lessons/42586?language=javascript# 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr function solution(progresses, speeds) { var answer = []; while(progresses.length !== 0) { const x = Math.ceil((100 - progresses[0]) / speeds[0]); let count = 0; for (let i = 0; i.. 2021. 6. 30. [Leetcode][Javascript][Easy] 20. Valid Parentheses /** * @param {string} s * @return {boolean} */ var isValid = function(s) { var stack = new Stack(); for (let i = 0; i < s.length; i++) { if (s[i] === '(' || s[i] === '[' || s[i] === '{') { stack.push(s[i]); } if (s[i] === ')') { if (stack.pop() !== '(') { return false; } } else if (s[i] === ']') { if (stack.pop() !== '[') { return false; } } else if (s[i] === '}') { if (stack.pop() !== '{') { re.. 2021. 6. 28. Instanceof 는 뭘 보고 확인하는걸까? /** * instanceof 는 뭘 보고 확인하는걸까 * constructor의 prototype 이 해당 객체의 프로토타입 체인에 존재하는지를 보고 확인한다고 한다. */ function Person(name) { this.name = name; } Person.prototype.person = function() { console.log("person!!"); } function Test() { } Test.prototype.test = function() { console.log("test!"); } var person1 = new Person("Philp"); console.log(person1 instanceof Person); // true console.log(Person.prototype.. 2021. 6. 12. [Leetcode][Javascript][Easy] 70. Climbing Stairs https://leetcode.com/problems/climbing-stairs/ You are climbing a staircase. It takes n steps to reach the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? Example 1: Input: n = 2 Output: 2 Explanation: There are two ways to climb to the top. 1. 1 step + 1 step 2. 2 steps Example 2: Input: n = 3 Output: 3 Explanation: There are three ways to c.. 2021. 5. 16. 이전 1 ··· 4 5 6 7 8 다음