🎯

【Python】回文数(Palindrome Number)

に公開

回文数とは

こんにちは!回文数について触れる機会があったので、Pythonでの実装方法についてまとめていきたいと思います。まず、回文数とは232121のような逆から数字を並べても同じ数になる数です。

とりあえず解いてみる

def isPalindrome(x: int) -> bool:
    return str(x) == str(x)[::-1]

# テスト
print(isPalindrome(121))  
print(isPalindrome(-121))  
print(isPalindrome(10))  

実行結果

True
False
False

アプローチ

  1. 整数 x を文字列に変換する(これにより、簡単に前後を比較できるようにする。)
  2. 逆順にしたものと元の文字列を比較する

ポイント

この問題のポイントはスライス記法です。
スライス記法の基本構文は以下のようになります。

sequence[start:end:step]

sequence : リスト、タプル、文字列など、順序を持つデータ型
start : 取り出しを開始するインデックスです。
end : 取り出しを終了するインデックスです。(このインデックスの要素は含まれません)

このスライス記法を応用して以下のように使うことができます。

s = "Python"
print(s[::-1])

実行結果

nohtyP

まとめ

  • 文字列に変換すると簡単に逆順を比較できる

Discussion