パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

Python 最短の回文を回しながら作る

2022-10-26 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい

「コンピュータにおけるプログラムとはデータ加工技術である。」

ということで一問、解いてみます

 

問題 アルファベットの文字列Sが与えられる。その文字に最低何文字たせば回文になるか?

 

palindromeたまにでてきますが回文のことです

回文、上から読んでもしたから読んでも同じ言葉のことです

キーワードが1つわからないと突然難問になることもよくあります

 

文字数nも与えられていますが使いません(1)カッコ内は行数

とにかく問題の文字列を取得(2)

頭から文字を順に後ろにたしていって反転しても同じなら(5)その数を表示して(6)終わり(7)

後ろに足していく文字列は逆にたしていくので(8)文字列を別途管理(3)

答えは最悪反転-1文字なのでその回数分ループ(4)一回余分でした

 

記事書いていて思いついた別解です


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。