๐ ๋ฌธ์
Given a string s, return the longest palindromic substring in s.
๐ ๋ฐฉ๋ฒ
- ๋ฐ๋ณต๋ฌธ์ ํตํด ๋ฌธ์์ด์ ๊ธธ์ด๋งํผ ๋ฐ๋ณต
- ๊ทธ ์์์ ๋ฐ๋ณต๋๋ ๋ฌธ์์ด ์ค ๊ฐ์ฅ ๊ธด ๋ฌธ์์ด์ ์ถ๋ ฅ
- ํฐ๋ฆฐ๋๋กฌ์ ๊ฑฐ๊พธ๋ก ์ฝ์ด๋ ์ ๋๋ก ์ฝ๋ ๊ฒ๊ณผ ๊ฐ์ ๋ฑ๋ง, ์ซ์, ๋ฌธ์์ด
- ๋ฐ๋ผ์ ๋ฐ์ผ๋ก ์ ์์ ๋์, ์ ์์ด ๊ฐ์.
- ๋๋ฌธ์ ๋ฐ๋ณต๋ฌธ์ ํตํด i๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ์์ ํ์ธ.
class Solution {
public String longestPalindrome(String s) {
/* ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ๊ฒฐ๊ณผ ๊ฐ ์ ์ธ */
String result = "";
for (int i = 0; i < s.length(); i++) {
int len = Math.max(findPalindrome(s,i,i), findPalindrome(s,i,i+1));
if (result.length() < len) {
result = s.substring(i - (len-1)/2, i + len/2 + 1);
}
}
return result;
}
private static int findPalindrome(String s, int start, int end) {
if (start < 0 || end >= s.length()) {
return 0;
}
while(start >= 0 && end < s.length() && s.charAt(start) == s.charAt(end)) {
start--;
end++;
}
return end - start - 1;
}
}
'์๊ณ ๋ฆฌ์ฆ > LeetCode' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[LeetCode]006. Zigzag Conversion JAVA (0) | 2022.12.21 |
---|---|
[LeetCode]007. Reverse Integer JAVA (0) | 2022.12.19 |
[LeetCode] 003. Longest Substring Without Repeating Characters JAVA (0) | 2022.12.16 |
[LeetCode] 002. Add Two Numbers JAVA (0) | 2022.12.16 |
[LeetCode] 001. Two Sum JAVA (0) | 2022.12.15 |
๋๊ธ