Updated:

1. 문제 풀이 방법

문자열이 팰린드롬이 아니면 문자열 뒤에 0개 이상의 문자를 추가해 팰린드롬을 만드는 문제이기 때문에 팰린드롬을 검사하는 함수를 만들어서 문제를 풀었다.

  1. 팰린드롬 함수를 이용해 팰린드롬인지 검사하기
  2. 만약 팰린드롬이 아니라면 문자열 앞 글자부터 역순으로 해서 1글자씩 더한다.
    • 앞 글자부터 역순으로 더하는 이유는 팰린드롬이 좌우 대칭인 문자열을 뜻하기 때문이다.

2. 풀이

import sys
def input(): return sys.stdin.readline().rstrip()

def is_palinedrome(s):
    length = len(s)
    for i in range(length//2):
        if s[i] != s[-(i+1)]:
            return False
    return True

s = input()
length = len(s)
for i in range(length+1):
    if is_palinedrome(s+s[:i][::-1]):
        print(len(s+s[:i][::-1]))
        break

배열 뒤에 [::-1]을 붙이면 역순으로 접근할 수 있다.

Leave a comment