【Python】数値を反転させて表示する(Reverse Integer)
IT系の企業の入社試験ではコーディングテストを実施するところがあるようで、その対策としてLeetCodeというサイトを使うと良いらしい。
Just a moment...
無料でも使えるけど、有料だとより多い問題を解くことが出来て他にも便利なことがあるらしい。
とりあえずは無料で使ってみる。
その問題を試しに解いてみて、覚えていなかったり知らないことは、このブログでまとめていこうと思う。
数値を反転させる
数値を反転させて表示させる問題があった。
たとえば123だったら321を返し、-123だったら-321を返すというもの。
Just a moment...
解き方としては、まず入力で与えられた数値xを以下のようにして文字列に変換する。
x_char = str(x)
次に、文字列となったx_charを以下のように反転して並び替えれば良い。
reverse = x_char[::-1]
ここでは、[]演算子を使っている。
ただし、入力値が負の場合はマイナス(-)がついているので、それを除いて反転させる必要があることに注意。
最後に、文字列として扱っていたreverseを整数値として出力する
reverse = int(reverse)
return reverse
まとめ
最終的には以下のようなコードになる。
def reverse(x):
flag = False
x_char = str(x)
if x_char[0] == '-':
x_char = x_char[1:]
flag = True
reverse = x_char[::-1] #ここで反転させている
if flag:
reverse = '-' + reverse
reverse = int(reverse)
if reverse > 2**31 -1 or reverse < -2**31: #これはreverseが取りうる値の範囲をしていしているだけ
reverse = 0
return reverse
人気記事
人気記事はこちら。
新着記事
新着記事はこちら。