[백준] 8892번 팰린드롬

거북이·2023년 1월 9일
0

백준[실버5]

목록 보기
89/114
post-thumbnail

💡문제접근

이중 반복문을 돌리면서 같은 하나의 단어를 두 번 합치는 잘못을 범해 시간이 오래 걸렸다.
조합을 이용해서 코드를 수정했더니 정상적으로 출력되었다.

💡코드(메모리 : 30748KB, 시간 : 468ms)

from itertools import combinations
def palindrome(word):
    if word == word[::-1]:
        return True
    else:
        return False

T = int(input())
for _ in range(T):
    k = int(input())
    palindrome_li = []
    li = []
    for _ in range(k):
        string = input()
        li.append(string)
    combine_list = combinations(li, 2)
    for a, b in combine_list:
        combine_string1 = a + b
        combine_string2 = b + a
        if palindrome(combine_string1):
            palindrome_li.append(combine_string1)
        if palindrome(combine_string2):
            palindrome_li.append(combine_string2)
    if palindrome_li == []:
        print(0)
    else:
        print(palindrome_li[0])

💡소요시간 : 18m

0개의 댓글