내 풀이.
브루트 포스를 활용한 풀이
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
dict1 = {}
result = 0
cnt = 0
if len(s) == 1 :
return 1
for i in range(len(s)):
for j in range(i,len(s)):
if s[j] in dict1:
result = max(cnt, result)
cnt = 0
dict1 = {}
break
cnt += 1
dict1[s[j]] = 0
return result
중복 발생시 시작 인덱스를 바꿔가며 처음부터 세준다.
순회했던 문자열은 후에 다시 탐색하는 시간이 추가적으로 발생하는 것을 막기 위해 해쉬를 사용해 준다.
길이가 1일때는 1로 return . 나머지는 중복 발생시 결과값을 비교해 갱신해주고, cnt와 dict를 초기화 해준다.
'leetcode' 카테고리의 다른 글
Leet code 242 - Valid Anagram (0) | 2023.05.16 |
---|---|
Leet code 104 - Maximum Depth of Binary Tree (1) | 2023.05.16 |
leet code 300 - Longest Increasing Subsequence (1) | 2023.05.03 |
leetcode 322 - Coin Change (0) | 2023.05.02 |
leet code 70 - Climbing Stairs (0) | 2023.04.25 |
댓글