Search

leet code easy ~ medium

subtitle
Tags
Created
2025/08/24
2 more properties

#1 Two Sum

/** * @param {number[]} nums * @param {number} target * @return {number[]} */ var twoSum = function(nums, target) { const table = new Map() let i = 0 for (const num of nums) { const x = target - num if (table.has(x)) { return [table.get(x), i] } table.set(num, i++) } return [] };
JavaScript
복사

#20 Valid Parentheses

/** * @param {string} s * @return {boolean} */ var isValid = function(s) { const closeToOpen = { ')': '(', '}': '{', ']': '[' } const stack = [] for (const char of s) { const openP = closeToOpen[char] // char가 열린 괄호인 경우 if (!openP) { stack.push(char) continue } // 닫힌 괄호인 경우 if (stack.length > 0 && stack[stack.length - 1] === openP) { stack.pop() continue } return false } return stack.length === 0 };
JavaScript
복사

#21 Merge Two Sorted Lists

#26 Remove Duplicates from Sorted Array

in-place(two pointer 문제)
var removeDuplicates = function(nums) { if (nums.length === 0) return 0; // 안전 처리 let k = 1; // 다음 유니크 값을 쓸 위치 (첫 값은 이미 확정) for (let i = 1; i < nums.length; i++) { if (nums[i] !== nums[i - 1]) { // 새 값 발견 nums[k] = nums[i]; // 앞쪽에 덮어쓰기 k++; // 쓰는 위치 한 칸 전진 } } return k; // 유니크 개수 };
JavaScript
복사

#121 Best Time to Buy and Sell Stock

var maxProfit = function(prices) { let minSoFar = Infinity; // 최저가 let best = 0; for (const price of prices) { if (price < minSoFar) { minSoFar = price; // 더 싼 날 발견 → 매수 후보 갱신 } else { best = Math.max(best, price - minSoFar); // 오늘 팔면 이익? 최대치 갱신 } } return best; };
JavaScript
복사

#125 Valid Palindrome

/** * @param {string} s * @return {boolean} */ var isPalindrome = function(s) { let sanitizedString = s.replace(/[^0-9a-zA-Z]/g, '') // remove non-alphabet sanitizedString = sanitizedString.toLowerCase() // upper -> lower const length = sanitizedString.length if (length <= 1) return true let left = 0, right = length - 1; const isOdd = length % 2 === 1 // left, right 만났을 때 끝 // 짝수인 경우 legnth / 2의 경우에 다다랐을 때 끝 while((isOdd && left !== right) || (!isOdd && left < (length / 2))) { if (sanitizedString[left] === sanitizedString[right]) { left++, right-- continue } return false } return true };
JavaScript
복사

#217 Contains Duplicate

#242 Valid Anagram

#169 Majority Element

#350 Intersection of Two Arrays II

#167 Two Sum II – Input Array Is Sorted

#977 Squares of a Sorted Array

#15 3Sum

#3 Longest Substring Without Repeating Characters

#155 Min Stack