[BOJ-8892]パリンドロン(Python)
🤒 質問する
BOJ-8892ファリンドロン
💊 に答える
解けましたが、気分が悪いです.
BOJ-10174ファリンドロンのように二重ポインタを用い,試験用例は2回以上のニートポインタを用い,前後ともに検査したので,フェリン症候群を2回判断した.
スピードもあまり悪くないですが、これが一番いいのかといつも思っていたので、友達との勉強の話題が公開されました.もう一度解いてみる.
とにかく.完了したソースコードは下にあります!
ソースコード
import sys
from typing import List
def is_palindrome(case: List):
front = 0
back = len(case) - 1
while(front < back):
if case[front] is not case[back]:
return False
front += 1
back -= 1
return True
def find_palindrome(words: List):
if len(words) < 2:
return '0'
front = 0
back = 1
while(front < back and front < len(words) - 1):
tmp_1 = words[front] + words[back]
tmp_2 = words[back] + words[front]
if is_palindrome(tmp_1):
return tmp_1
elif is_palindrome(tmp_2):
return tmp_2
else:
back += 1
if back == len(words):
front += 1
back = front + 1
return '0'
T = int(input())
for _ in range(T):
words = []
k = int(input())
for _ in range(k):
words.append(sys.stdin.readline().strip())
print(find_palindrome(words))
Reference
この問題について([BOJ-8892]パリンドロン(Python)), 我々は、より多くの情報をここで見つけました https://velog.io/@dogakday/BOJ-8892-팰린드롬-Pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol