Skip to content

Commit 0d24fb4

Browse files
author
แ„‹แ…ตแ„‹แ…งแ†ซแ„‰แ…ฎ
committed
longest substring without repeating characters
1 parent c023f99 commit 0d24fb4

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package leetcode_study
2+
3+
/*
4+
* ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์—์„œ ๋ฐ˜๋ณต๋˜๋Š” ๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์€ ๊ฐ€์žฅ ๊ธด ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ
5+
* ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋ฐ”๊นฅ ๋ฐ˜๋ณต๋ฌธ์—์„  ์‹œ์ž‘ ๋ฌธ์ž๋ฅผ ๋‚ด๋ถ€ ๋ฐ˜๋ณต๋ฌธ์—์„  ๊ทธ ๋‹ค์Œ ๋ฌธ์ž๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์ค‘๋ณต๋œ ๋ฌธ์ž๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ์„ ๋•Œ, ๋ฐ˜๋ณต๋ฌธ ํƒˆ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ
6+
* ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n^2)
7+
* -> ์ด์ค‘ ๋ฐ˜๋ณต ๊ณผ์ •
8+
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(n)
9+
* -> ์ค‘๋ณต๋˜์ง€ ์•Š์€ ๋ฌธ์ž์—ด์„ ๋‹ด์„ ๊ณต๊ฐ„ ํ•„์š”
10+
* */
11+
fun lengthOfLongestSubstring(s: String): Int {
12+
var maximumLength = 0
13+
for (start in s.indices) {
14+
val tempList = mutableListOf<Char>()
15+
for (end in start until s.length) {
16+
if (tempList.contains(s[end])) {
17+
break // escape loop
18+
}
19+
tempList.add(s[end])
20+
maximumLength = max(tempList.size, maximumLength)
21+
}
22+
}
23+
return maximumLength
24+
}

0 commit comments

Comments
ย (0)