File tree Expand file tree Collapse file tree 1 file changed +12
-1
lines changed
longest-substring-without-repeating-characters Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Original file line number Diff line number Diff line change 15
15
3. ์ค๋ณต ๋ฌธ์๋ฅผ ๋ง๋๋ฉด ์๋์ฐ์ ์์์ (current_start)์ ์ค๋ณต ๋ฌธ์ ๋ค์ ์์น๋ก ์ด๋
16
16
4. ๋งค ๋จ๊ณ์์ ํ์ฌ ์๋์ฐ์ ๊ธธ์ด๋ฅผ ๊ณ์ฐํ๊ณ ์ต๋ ๊ธธ์ด ๊ฐฑ์
17
17
5. ์ต์ข
์ ์ผ๋ก ๊ฐ์ฅ ๊ธด ์ค๋ณต ์๋ ๋ถ๋ถ ๋ฌธ์์ด์ ๊ธธ์ด ๋ฐํ
18
+
19
+ ๋
ธํธ:
20
+ - ์ฒ์์ ์ด๋ ค์ ๋ ๋ถ๋ถ: ๋์
๋๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํด์, ์ง๊ธ๊น์ง ์บ๋ฆญํฐ๊ฐ ๋ฑ์ฅํ ํ์๋ฅผ ์ ์ฅํด์ผ ํ๋ค๊ณ ์๊ฐํจ
21
+ - ์ค์ ๋ก๋ ๊ฐ ๋ฌธ์์ ๋ง์ง๋ง ๋ฑ์ฅ ์์น(์ธ๋ฑ์ค)๋ฅผ ์ ์ฅํ๋ ์ฉ๋์
18
22
"""
19
23
24
+ # e.g., s = "abca"
20
25
class Solution :
21
26
def lengthOfLongestSubstring (self , s : str ) -> int :
22
- seen = {}
27
+ seen = {} # ๊ฐ ๋ฌธ์๊ฐ ๋ง์ง๋ง์ผ๋ก ๋ฑ์ฅํ ์ธ๋ฑ์ค๋ฅผ ์ ์ฅํ๋ ๋์
๋๋ฆฌ
23
28
current_start = 0
24
29
max_length = 0
25
30
26
31
for i in range (len (s )):
27
32
char = s [i ]
28
33
34
+ # ํ์ฌ ๋ฌธ์๊ฐ ์ด๋ฏธ ๋ฑ์ฅํ๊ณ , ๊ทธ ์์น๊ฐ ํ์ฌ ๊ณ ๋ ค ์ค์ธ ๋ถ๋ถ ๋ฌธ์์ด ๋ด์ ์๋ ๊ฒฝ์ฐ
29
35
if char in seen and seen [char ] >= current_start :
36
+
37
+ # ์ค๋ณต ๋ฐ์, ์๋์ฐ ์์์ ์ ์ด์ ๋ฑ์ฅ ์์น ๋ค์์ผ๋ก ์ด๋
30
38
current_start = seen [char ] + 1
31
39
32
40
seen [char ] = i
33
41
42
+ # ํ์ฌ ๋ถ๋ถ ๋ฌธ์์ด์ ๊ธธ์ด ๊ณ์ฐ (ํ์ฌ ์ธ๋ฑ์ค - ์์ ์ธ๋ฑ์ค + 1)
34
43
current_length = i - current_start + 1
44
+
45
+ # ์ต๋ ๊ธธ์ด ์
๋ฐ์ดํธ
35
46
max_length = max (current_length , max_length )
36
47
37
48
return max_length
You canโt perform that action at this time.
0 commit comments