문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
정수 x가 주어지고, 만약 x가 팰린드롬이면 true, 그렇지 않다면 false를 반환해라.
#1
Input: x = 121
Output: true
Explanation: 121은 왼쪽에서 오른쪽으로, 오른쪽에서 왼쪽으로 읽어도 121이 된다.
#2
Input: x = -121
Output: false
Explanation: 왼쪽에서 오른쪽 방향으로 보면 -121이다. 오른쪽에서 왼쪽 방향으로 보면 121-가 된다. 그래서 팰린드롬이 아니다.
#3
Input: x = 10
Output: false
Explanation: 오른쪽에서 왼쪽으로 01이라고 읽는다. 그래서 팰린드롬이 아니다.
문제에서 타입 변화없이 푸는 방법으로 해결하라고 팔로우업이 있지만, 일단 정수를 스트링으로 변환해서 문제를 해결했다.
주어진 x를 문자열로 변환하고, 그것을 StringBuilder에 담는다. 그리고 StringBuilder에 있는 reverse()를 사용해서 비교하면 문제를 해결할 수 있다.
public boolean isPalindrome(int x){
String str = Integer.toString(x);
StringBuilder sb = new StringBuilder();
sb.append(str);
if(str.equals(sb.reverse().toString())){
return true;
}
return false;
}