슬라이딩 윈도우 3

[sliding window 알고리즘] 리트코드 713. Subarray Product Less Than K

https://leetcode.com/problems/subarray-product-less-than-k/ Subarray Product Less Than K - 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 nums의 부분 배열이 k보다 작은 경우의 수를 구하는 문제. ==풀이== 슬라이딩 윈도우 알고리즘을 이용한다. start와 end 두 가지 포인터를 선언하고 부분 배열의 곱이 k를 안 넘었다면 end를 증가시키고 k를 넘었다면 k이하가 될 때까지 star..

카테고리 없음 2022.03.16

[Sliding Window 알고리즘] 리트코드 438. Find All Anagrams in a String (with. 아스키 코드)

https://leetcode.com/problems/find-all-anagrams-in-a-string/ Find All Anagrams in a String - 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 s에서 p의 anagram이 시작하는 위치들의 리스트를 정답으로 리턴한다. ==풀이== 이런 문제같이 일정 범위 내에서 뭔가를 체크해 나가는 건 sliding window로 풀면 좋다. s와 p를 알파벳 개수 26개만큼 리스트를 만들어서 여기에 빈도수를..

알고리즘 2022.03.16

[Sliding Window] with 예시문제 2가지

슬라이딩 윈도우는 네트워크를 공부할 때 배웠던 개념인데 이 방식을 알고리즘 문제에 적용시켜 풀기도 한다. 범위를 일정하게 고정시켜서 그 범위를 이동시켜가면서 데이터를 비교한다. two pointer알고리즘과 비슷한 알고리즘이다. [문제 1] 문자열 s에서 반복되는 알파벳이 없는 가장 긴 substring의 길이를 구하라. var lengthOfLongestSubstring = function (s) { let max = 0; let l = 0; for (let r = 0; r < s.length; r++) { const idx = s.slice(l, r).indexOf(s[r]); if (idx === -1) { max = Math.max(max, r + 1 - l); } else { l += idx +..

알고리즘 2022.02.16