반응형
문제 링크
https://leetcode.com/problems/valid-palindrome/
내 풀이
public boolean isPalindrome(String s) {
if(s.length() <= 1) return true;
int left = 0;
int right = s.length() - 1;
while(left < right) {
char sC = s.charAt(left);
char sE = s.charAt(right);
if(!Character.isDigit(sC) && !Character.isAlphabetic(sC)) {
left++;
} else if(!Character.isDigit(sE) && !Character.isAlphabetic(sE)) {
right--;
} else if(Character.toLowerCase(sC) == Character.toLowerCase(sE)) {
left++;
right--;
continue;
} else {
return false;
}
}
return true;
}
결과
문제 풀이 하다보니 easy는 당연히 쉽겠지 하고 처음엔 replaceAll 같은 메서드를 사용했다가 타임이 너무 길게 나와서
다른 사람 풀이를 참고하여 다시 코드를 짜봤습니다.
당연한듯이 easy를 난이도를 쉽게 풀지 말고 한번더 생각하고 문제를 보는 습관을 들여야겠습니다.
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm][Array] 문제 풀이 #13 - Longest Repeating Character Replacement (0) | 2022.07.25 |
---|---|
[Algorithm][Array] 문제 풀이 #12 - Longest Substring Without Repeating Characters (0) | 2022.07.24 |
[Algorithm][Array] 문제 풀이 #10 - Valid Anagram (0) | 2022.07.20 |
[Algorithm][Array] 문제 풀이 #9 - Sliding Window Maximum (0) | 2022.07.19 |
[Algorithm][Array] 문제 풀이 #8 - Search in Rotated Sorted Array II (0) | 2022.07.19 |