🎯
【Python】回文数(Palindrome Number)
回文数とは
こんにちは!回文数について触れる機会があったので、Pythonでの実装方法についてまとめていきたいと思います。まず、回文数とは232 や121のような逆から数字を並べても同じ数になる数です。
とりあえず解いてみる
def isPalindrome(x: int) -> bool:
return str(x) == str(x)[::-1]
# テスト
print(isPalindrome(121))
print(isPalindrome(-121))
print(isPalindrome(10))
実行結果
True
False
False
アプローチ
- 整数 x を文字列に変換する(これにより、簡単に前後を比較できるようにする。)
- 逆順にしたものと元の文字列を比較する
ポイント
この問題のポイントはスライス記法です。
スライス記法の基本構文は以下のようになります。
sequence[start:end:step]
sequence : リスト、タプル、文字列など、順序を持つデータ型
start : 取り出しを開始するインデックスです。
end : 取り出しを終了するインデックスです。(このインデックスの要素は含まれません)
このスライス記法を応用して以下のように使うことができます。
s = "Python"
print(s[::-1])
実行結果
nohtyP
まとめ
- 文字列に変換すると簡単に逆順を比較できる
Discussion