Skip to content

Commit f383c8c

Browse files
committed
feat: 결과 요약 작성
1 parent bc5da91 commit f383c8c

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

  • longest-substring-without-repeating-characters

longest-substring-without-repeating-characters/gyeo-ri.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
"""
2+
[결과 요약]
3+
# 재시도횟수: 4회
4+
1. 모든 문자열 한 번씩 순회하기(실패)
5+
- 단순 순회가 아니라 실패 시 직전의 중복 문자열 위치를 찾아야 해서 단순 순회로는 처리가 불가함
6+
2. 문자열 상태를 기록하고, 중복된 문자열이 등장했을 때 기존 문자열을 split 하여 다시 순회를 시작하는 방법(힌트 없이 성공한 방식)
7+
- 연산 결과는 동일하지만 복잡도가 O(n^2)으로 효율적이지는 않음
8+
(3부터 구현 방식에 대한 힌트를 참조)
9+
3. Sliding Window를 구현(두 개의 포인터, Set)
10+
- 시간복잡도: O(n) / 공간복잡도: O(n)
11+
- 중복 발생 시 while문을 사용하여 중복된 문자가 등장하는 위치까지 순차 탐색(이전 문자열을 제거)
12+
4. Dict으로 (3)과 같은 로직을 구현
13+
- 시간복잡도: O(n) / 공간복잡도: O(n)이지만 dict을 사용하므로 시간 절약 / 메모리는 약간 더 사용함
14+
- 인덱스를 순차로 탐색하는 것이 아니라 dict에서 바로 조회하는 방식
15+
16+
17+
"""
18+
19+
120
class Solution:
221
def lengthOfLongestSubstring(self, s: str) -> int:
322
used_characters = dict()

0 commit comments

Comments
 (0)