본문 바로가기

Leetcode

(107)
[Leetcode] 30. Substring with Concatenation of All Words - JS https://leetcode.com/problems/substring-with-concatenation-of-all-words/description/?envType=study-plan-v2&envId=top-interview-150  1. 문제 분석문제분석--------------------- 문자열 s, 문자열 배열 words가 주어진다.- words 배열 속 문자열은 동일한 길이를 가진다.- words 배열 속 단어들을 순서를 바꿔서 연결한 단어를 s가 부분 문자열로 포함하고 있는지 확인한다.예를 들어, s = "barfoothefoobarman", words = ["foo","bar"]words로 가능한 단어들은 'foobar', 'barfoo'가 있는데, s의 0번째 인덱스에 'barfoo's의..
[Leetcode] 3. Longest Substring Without Repeating Characters - JS https://leetcode.com/problems/longest-substring-without-repeating-characters/description/?envType=study-plan-v2&envId=top-interview-150  1. 문제 분석문제분석--------------------- 문자열 s가 주어진다.- 고유한 문자로만 이루어진 가장 긴 부분 문자열의 길이를 반환하라제한조건--------------------- 0  2. 접근 방법접근방법 - Sliding Window--------------------1. maxLen = 0, subStr = '', start = 0, end = 0으로 초기화2. start   3. 코드var lengthOfLongestSubstring = f..
[Leetcode] 209. Minimum Size Subarray Sum - JS https://leetcode.com/problems/minimum-size-subarray-sum/description/?envType=study-plan-v2&envId=top-interview-150  1. 문제 분석문제분석--------------------양의 정수 배열 nums와 양의 정수 target이 주어진다.target보다 크거나 같은 부분 배열 합의 최소 길이를 구하여라.만약 존재하지 않는다면 0을 반환하라.제한조건--------------------- 1  2. 접근 방법접근방법 - Sliding Window--------------------1. start, end를 각각 0, subArraySum을 nums 첫번째 요소로 초기화한다.2. start = target 만족하면, ..
[Leetcode] 15. 3Sum - JS https://leetcode.com/problems/3sum/description/?envType=study-plan-v2&envId=top-interview-150  1. 문제 분석문제분석--------------------정수 배열 nums가 주어진다.i != j, i != k, j != k이면서 nums[i] + nums[j] + nums[k] === 0위를 만족하는 i,j,k 찾아 triplets [nums[i], nums[j], nums[k]]를 반환하라.단, triplets는 중복된 값을 포함하지 않는다.[-1,0,1] === [-1,1,0]이므로 [-1,0,1] 하나만 포함해야한다.제한조건--------------------- 3  2. 접근 방법접근방법 - Two pointer------..
[Leetcode] 11. Container With Most Water - JS https://leetcode.com/problems/container-with-most-water/description/?envType=study-plan-v2&envId=top-interview-150   1. 문제 분석문제분석--------------------길이 n으로 구성된 정수 배열 height가 주어진다.n은 i번째의 (i, 0)에서 (i, height[i])사이의 수직선이다.두 x축 사이의 공간에서 최대의 물을 담을 수 있는 물의 양을 반환하라.제한조건--------------------- n == height.length- 2  2. 접근 방법접근방법 - Two pointer--------------------물의양을 구하는 방법시작 인덱스, 끝 인덱스 차이 * 시작 인덱스와 끝 인덱스..
[Leetcode] 167. Two Sum II - Input Array Is Sorted - JS https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/description/?envType=study-plan-v2&envId=top-interview-150  1. 문제 분석문제분석--------------------오름차순 정렬된 1-index 정수 배열이 주어지면 특정 목표 숫자(target)에 합산되는 2개의 숫자를 [index1, index2] 반환하라.O(1)의 공간복잡도를 사용하여 풀어라.target = numbers[index1] + numbers[index2]1  2. 접근 방법접근방법 - Two pointer--------------------1. index1을 시작, index2를 끝 인덱스에서 시작한다.2. index1   ..
[Leetcode] 392. Is Subsequence - JS https://leetcode.com/problems/is-subsequence/description/?envType=study-plan-v2&envId=top-interview-150  1. 문제 분석문제분석--------------------문자열 s, t가 주어지고 s가 t의 subsequence인지 판단하여 반환하라.subsequence는 t문자열이 s문자열의 순서를 그대로 유지하는지를 비교하면된다.제한조건--------------------- 0  2. 접근 방법접근방법 - Two pointer--------------------t문자열을 순회하면서 s문자열의 포인터에 위치한 문자가 등장하는지 판단한다.  3. 코드var isSubsequence = function(s, t) { let i..
[Leetcode] 125. Valid Palindrome - JS https://leetcode.com/problems/valid-palindrome/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------palindrome은 대문자를 소문자로 변환하고, 알파벳이 아닌 것(숫자는 제외 X)을 제거하고 앞으로 읽으나 뒤로 읽으나 똑같다.문자열 s가 palindrome인지를 판단하여 반환하라.제한조건--------------------- 1  2. 접근 방법접근방법 - Two Pointer--------------------우선 정규표현식으로 대문자를 소문자로 변환하고, 공백과 알파벳이 아닌 것들을 제거한다.시작 포인터와 마지막 포인터를 선언하고 각 포인터에 위치한 ..