문제 이해

입력

출력

요구 사항


문제 풀이

  1. 슬라이딩 윈도우

    class Solution(object):
        def lengthOfLongestSubstring(self, s):
            char_set = set()
            l = 0
            max_len = 0
    
            for r in range(len(s)):
                # 중복이 발생하면, 발생한 r시점까지 l을 가져온다. 
                # 그 이전의 서브 스트링은 필요가 없기 때문이다.
                while s[r] in char_set:
                    char_set.remove(s[l])
                    l += 1
    
                char_set.add(s[r])
                max_len = max(max_len, r-l+1)
            
            return max_len