[Python]バックアップアルゴリズム#1259
📝 質問する
「どの言葉を後ろから読んでも、同じなら、その言葉をパリンドロムと呼ぶ」レーダー」、「see」はファリンドロンです.
首都パリンドロンとして利用できます.後から読み取った数字が同じであれば、この数字はパリンドロム数です.121、12421などはパリン・ドロンソです.1231231は後ろから読むと違うので、パリンドロム数ではありません.また,10度はパリントロム数ではなく,先に無意味な0が出現すれば010はパリントロム数としてもよいが,特にこの問題で無意味な0は出現しない.
入力
入力は、行ごとに999999以下の整数が1つ以上ある複数のテスト・インスタンスから構成されます.入力された最後の動作はゼロです.この行は問題に含まれません.
🖨 しゅつりょく
各行は、所定数のパリンドロン睡眠「yes」または「no」を出力する.
入力#の例 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
「どの言葉を後ろから読んでも、同じなら、その言葉をパリンドロムと呼ぶ」レーダー」、「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)
▼▼私が提出したコードの説明Reference
この問題について([Python]バックアップアルゴリズム#1259), 我々は、より多くの情報をここで見つけました https://velog.io/@h0neydear/Python-백준알고리즘-1259テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol