윈도우 3

[파이썬 알고리즘 인터뷰][슬라이딩윈도우] 부분 문자열이 포함된 최소 윈도우

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 문제 정의 t의 모든 문자, 개수가 포함된 s의 최소 윈도우 출력 책에서 구현된 코드 import collections class Solution: def minWindow(self, s: str, t: str) -> str: need = collections.Counter(t) missing = len(t) left = start = end = 0 # 오른쪽 포인터 이동 for right, char in enumerate(s, 1): missing -= need[char] > 0 need[char] -= 1 # 필요 문자가 0이면 왼쪽 포인터 이동 판단 if missing == 0: while left < right..

책읽기 2021.08.16

[파이썬 알고리즘 인터뷰][슬라이딩윈도우] 최대 슬라이딩 윈도우

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 문제 정의 k개의 슬라이드마다 최대값을 담아 출력 책에서 구현된 코드 # 테스트케이스 변경으로 현재 책의 방식으로 통과되지 않음 (책에도 이슈관련 내용이 적혀있음) # github에 다른 분이 작성하신 수정된 방식 from collections import deque from typing import List class Solution: def maxSlidingWindow(self, nums: List[int], k: int) -> List[int]: deq, ans = deque(), [] for i in range(len(nums)): # 앞에서부터 out of window -> 제거 if deq and i-de..

책읽기 2021.08.16

[파이썬 알고리즘 인터뷰] 20장 - 슬라이딩 윈도우

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 슬라이딩 윈도우 고정 사이즈의 윈도우가 이동하면서 윈도우 내에 있는 데이터를 이용하는 문제를 풀이하는 알고리즘 네트워크에 사용되던 용어 (MAC 계층에서 본 적 있음) 알고리즘 문제 풀이에 매우 유용하게 사용되는 중요한 기법 투포인터와의 차이점 고정 사이즈 윈도우를 사용함 정렬 여부에 관계없이 활용 좌->우로만 이동

책읽기 2021.08.16