Lim Seunghyun Space

[Leetcode] 3. Longest Substring Without Repeating Characters 본문

Algorithm/문제

[Leetcode] 3. Longest Substring Without Repeating Characters

Lim Seung Hyun 2022. 6. 9. 09:18

문제 출처

 

Longest Substring Without Repeating Characters - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

문제 이해

  • 문자열 s에 대해서 반복이 없는 가장 긴 부분 문자열의 길이를 구하기

 

나의 풀이 (Python3)

class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        sub_str_list = list()
    
        if len(s) < 1:
            return 0
        
        for i in range(0, len(s)):
            sub_str = ""
            for j in range(i, len(s)):
                if s[j] not in sub_str:
                    sub_str += s[j]
                else:
                    break
            sub_str_list.append(sub_str)
        
        return len(max(sub_str_list, key=len))
  • 문자열의 길이만큼 반복하여 부분 문자열을 구하고 마지막에 가장 긴 부분 문자열의 길이를 리턴
  • 총 987번의 예제를 돌려 통과여부를 확인하는데 986번은 s = "" 으로 부분문자열을 구할 수 없기 때문에 리턴시 빈 리스트의 맥스 값을 구할 수 없는 에러가 발생하게 된다. 
    • 해당 에러를 잡아주기 위해 부분 문자열 구하기 전 공백에 대한 처리를 추가하였다.

 

나의 결과

  • 런타임이 평균에 비해서 많이 느리며 런타임이 짧은 풀이를 보며 배울 예정
728x90