Algorithm/problems
Leetcode 3. Longest Substring Without Repeating Characters
수밈
2024. 8. 8. 17:31
### 문제이해
문자열 중에서 subarray가 가장 긴 문자를 찾는 방법.
### 생각해본 방법
슬라이딩 윈도우 기법이 떠올랐는데, 간단히 스택으로 먼저 풀어봤다.
슬라이딩 윈도우 기법은 left, right 를 잡고 left, right 값을 비교하면서 진행하는 방식.
### Try 1. stack
from collections import deque
class Solution:
# stack 으로 하는건가,, stack 을 이용해서 while pop 돌리기
def lengthOfLongestSubstring(self, s: str) -> int:
result = 0
stack = deque()
for i in s:
if not stack:
stack.append(i)
else:
while i in stack:
stack.popleft()
stack.append(i)
result = max(len(stack), result)
return result
성공!