펠린드롬인 지 아닌 지 판별하는 문제.
ex) aabaa(o), abcde(x), java(x), ccc(o)
class Solution {
public boolean isPalindrome(int x) {
String strX = x + "";
String[] originArr = strX.split("");
String[] cloneArr = strX.split("");
for(int i = 0; i < strX.length() / 2; i++) {
if(!originArr[i].equals(cloneArr[strX.length()-1-i])) return false;
}
return true;
}
}
런타임 시간이 어마무시하게 긴 코드 ...
class Solution {
public boolean isPalindrome(int x) {
//음수면 무조건 false
if(x < 0) return false;
int reverse = 0;
int cloneX = x;
while(cloneX > 0) {
reverse *= 10;
reverse += cloneX % 10;
cloneX /= 10;
}
return reverse == x;
}
}
그래서 다시 짠 코드! 런타임 시간이 44초에서 6초로 줄었다.
처음에는 예외를 안 잡아줘서 그런 건가?
어째서 이정도까지 차이가 난 걸까 ...
초반에 이것저것 해주는 작업 때문인걸까 (ㅡ.-)