[LeetCode] Palindrome Number

아르당·2024년 11월 14일

LeetCode

목록 보기
2/68
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

정수 x가 주어지고, 만약 x가 팰린드롬이면 true, 그렇지 않다면 false를 반환해라.

Exmple

#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이라고 읽는다. 그래서 팰린드롬이 아니다.

Constraints

  • -2^31 <= x <= 2^31 - 1

Solved

문제에서 타입 변화없이 푸는 방법으로 해결하라고 팔로우업이 있지만, 일단 정수를 스트링으로 변환해서 문제를 해결했다.

주어진 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;
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글