17日目のPythonアルゴリズム


Yey! 一度で当たった!実はそんなに難しい問題ではありませんが、私はたまにlistとstringの方法や関数を混同します.最初はブーブーだった.

9093:単語を反転


1.解答:成功

import sys

N = int(sys.stdin.readline())

for _ in range(N):
    sentence = sys.stdin.readline().strip().split()
    for i in range(len(sentence)):
        for j in reversed(range(len(sentence[i]))):
            print(sentence[i][j], end="")
        print(end=' ')
きれいですね.最初は文自体をひっくり返したと思っていたので、複文を書いていっそひっくり返したが、文の中の単語をひっくり返したので、2次元の配列を書いてひっくり返した.「end=」と「end=」を書いている自分のことを考えて….もう起きられない(当たり前だけど^^)
当たり前の解釈ですが、何も説明することはありません…!人の解答を見る.

2.その他の解釈

import sys
input = sys.stdin.readline
n = int(input())
s = [list(input().split()) for i in range(n)]
for i in range(n):
    for j in s[i]:
        print(''.join(reversed(list(j))), end=" ")
    print()
(出典:https://pacific-ocean.tistory.com/430)
私とはちょっと似ていて違う...!こちらの下書きや他の下書きには、stack資料構造を用いた(pop使用)下書きがあり、一つ一つ印刷するのではなく文字列で作成したり、一度に印刷したりするなど多様な下書きが…!
次回stack資料構造を用いた解答は挑戦する必要がある.
今日も不思議なアルゴリズムの世界の果てです!