티스토리 뷰

반응형
class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        if len(s) == 0:
            return 0

        f = 0
        t = 1
        d = {}

        d[s[f]] = f

        ans = 1
        while t < len(s):
            idx = d.get(s[t], -1)
            if idx == -1:
                temp = t - f + 1 
                ans = max(temp, ans)
            else:
                while f <= idx:
                    d[s[f]] = -1
                    f+=1

            d[s[t]] = t
            t+=1

        return ans

2번보다 훨씬 팔리풀었다. 15분?

반응형

'알고리즘 문제 > implementation' 카테고리의 다른 글

백준 3009 네 번째 점  (0) 2022.09.10
백준 18870 좌표압축  (0) 2022.09.09
leetcode. 2 Add Two Numbers  (0) 2022.09.05
백준 2108 통계학  (0) 2022.09.05
백준 2037 문자메세지  (0) 2019.09.17