성장일기

[python] 백준 8892 - 팰린드롬 본문

알고리즘 문제

[python] 백준 8892 - 팰린드롬

김몽몽 2022. 1. 20. 15:59

https://www.acmicpc.net/problem/1213

Q> 주어진 단어를 두개 합쳐서 팰린드롬인것 출력하기

 

🧨본인을 두번 더하면 안된다

aa, ba 라면 aaba와 baaa를 둘 다 고려해야한다.

def pal(word):  #팰린드롬 판정
    if len(word)<2:
        return True
    if word[0] != word[-1]:
        return False
    return pal(word[1:-1])
    

n = int(input())  #테스트케이스의 숫자 n
for i in range(n):
    m = int(input())
    li = []
    for j in range(m):
        li.append(input())
    
    li2 = []
    for i in range(len(li)):
        for j in range(len(li)):
            if i==j:
                pass
            else:
                li2.append(li[i]+li[j])  # 가능한 모든 조합 
    
    result=[]
    for i in li2:
        if pal(i)==True:
            result.append(i)  #팰린드롬이라면 result에 넣기
    
    if len(result)==0:
        print(0)  # 팰린드롬 없다면 0 출력
    else:
        print(result[0])  # 있다면 아무거나 출력