2022년 06월 16일 목요일 - 오늘이 100번째 포스팅!!!!
오늘 올려볼 문제는 5번 Longest Palindromic Substring 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
100번째까지 오는데까지 약 반년.... 생각보다는 오래걸렸넹
입력
사진에서도 볼 수 있듯이 String 1개 입력으로 들어온다.
풀이 및 코드
substirng 중에서 palindromic 하면서 가장 긴 substirng을 찾아서 리턴하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
for문으로 알파벳 하나씩 순회하면서 나아간다.
이 원소를 기준으로 양쪽으로 펼쳐나가며 palindromic한 substirng을 찾는다.
이 substirng중에서 가장 긴 것을 찾는다.
이제 코드를 봐보자!
풀이코드
class Solution {
public String longestPalindrome(String s) {
String result = "";
if(s.length() == 1) return s;
if(s.length() == 2) return s.charAt(0) == s.charAt(1) ? s : s.substring(0, 1);
for(int i = 0; i < s.length(); i++)
{
int left = i, right = i;
while( 0 <= left && right < s.length() && s.charAt(left) == s.charAt(right))
{
left--;
right++;
}
if(result.length() < right - left - 1)
{
result = s.substring(left + 1, right);
}
left = i;
right = i + 1;
while( 0 <= left && right < s.length() && s.charAt(left) == s.charAt(right))
{
left--;
right++;
}
if(right - left == 1) continue;
if(result.length() < right - left - 1)
{
result = s.substring(left + 1, right);
}
}
return result;
}
}
제출 화면
오늘이 leetcode 문제 풀이를 올리는 100번째 포스팅이다!
그동안 열심히 꾸준히 한 내가 자랑스러움을 느끼며...
내일도 문제를 재밌게 풀 수 있었으면 좋겠다!
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.
'LeetCode 문제 풀이' 카테고리의 다른 글
[LeetCode] 1647번 문제를 풀어보았다. (ft. java) (0) | 2022.06.28 |
---|---|
[LeetCode] 665번 문제를 풀어보았다. (ft. java) (0) | 2022.06.25 |
[LeetCode] 120번 문제를 풀어보았다. (ft. java) (0) | 2022.06.13 |
[LeetCode] 1695번 문제를 풀어보았다. (ft. java) (0) | 2022.06.12 |
[LeetCode] 1658번 문제를 풀어보았다. (ft. java) (0) | 2022.06.11 |