일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- MySQL
- docker image
- Data Engineering
- telegram
- leetcode
- 2023년 목표
- Airflow
- Python
- docker container
- delete join
- dsf
- datacamp
- SQL
- BOT
- airflow architecture
- airflow webserver
- 알고리즘
- 백준 온라인 저지
- 프로그래머스
- 빅데이터를 지탱하는 기술
- hackerrank
- 백준온라인저지
- 데이터 엔지니어
- docker
- Dynamic Programming
- 그리디
- Pseudo Lab
- data_engineer
- Spark
- terraform
Archives
- Today
- Total
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문제 출처
문제 이해
- 문자열 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
'Algorithm > 문제' 카테고리의 다른 글
[백준 온라인 저지] 손익분기점 (2) | 2022.11.13 |
---|---|
[Leetcode] 4. Median of Two Sorted Arrays (0) | 2022.06.10 |
[백준 온라인 저지] 주유소 (0) | 2022.02.26 |
[백준 온라인 저지] ATM (0) | 2022.02.12 |
[백준 온라인 저지] 회의실 배정 (0) | 2022.02.10 |