[Python]バックアップアルゴリズム#1259


📝 質問する
「どの言葉を後ろから読んでも、同じなら、その言葉をパリンドロムと呼ぶ」レーダー」、「see」はファリンドロンです.
首都パリンドロンとして利用できます.後から読み取った数字が同じであれば、この数字はパリンドロム数です.121、12421などはパリン・ドロンソです.1231231は後ろから読むと違うので、パリンドロム数ではありません.また,10度はパリントロム数ではなく,先に無意味な0が出現すれば010はパリントロム数としてもよいが,特にこの問題で無意味な0は出現しない.
入力
入力は、行ごとに999999以下の整数が1つ以上ある複数のテスト・インスタンスから構成されます.入力された最後の動作はゼロです.この行は問題に含まれません.
🖨 しゅつりょく
各行は、所定数のパリンドロン睡眠「yes」または「no」を出力する.
入力#の例
121
1231
12421
0
🖨 サンプル出力
yes
no
yes
📚 私が提出したコード
import sys
while True:
    num = sys.stdin.readline().rstrip()
    if num == '0':
        break
    numArr = list(num); length = len(numArr) // 2
    if len(numArr) % 2 == 1:
        del numArr[length]
    front = numArr[:length]; back = numArr[-1 : length - 1 : -1]
    result = 'yes'
    for i in range(length):
        if front[i] != back[i]:
            result = 'no'
            break
    print(result)
▼▼私が提出したコードの説明
  • sys.stdin.readline():キーボード入力値を受信する関数(既存のinput()よりずっと速い)
  • sys.stdin.readline().rstrip():既存のinput()とは異なりsys.stdin.readline()は、1つの開行文字も入力として受信するため、開行文字を削除するために別のコードを書く必要があります.書き換え文字を除去する関数はrstrip()です.
  • len(a):リストaのサイズ(要素数)
  • dela[b]:リストaのインデックスbの要素を削除します.
  • a[:b]:リストaのインデックスが0の要素からb-1の要素を返します.
  • a[b:c:d]:リストaのインデックスbの要素からc-1の要素まで、dをインクリメンタルとして返します.
  • range(a):0からa-1の整数を返す関数
  • メモリ:30864 KB
  • 時間:68 ms
  • コード長:407 B