본문 바로가기

두두의 알고리즘/문제

[기타] 백준 1254번 '팰린드롬 만들기' (Python)

728x90

<문제 링크>

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

 

1254번: 팰린드롬 만들기

동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는

www.acmicpc.net


<문제 풀이>

  • 팰린드롬이 맞는지 확인할 수 있는 함수를 만든다.
  • 문자를 하나씩 맨 뒤에 붙이면서 팰린드롬이 맞는지 확인한다.  

<코드>

def pal(ss):
    half = len(ss)//2
    for i in range(half):
        if s[i] != s[-(i+1)]:
            return False 
    return True
tmp = ''

s = input()
leng = len(s)
if fel(s)==False:
    for i in range(leng):
        tmp += s[i]
        s += tmp[::-1]
        if pal(s)==True:
            break
        for i in range(len(tmp)):
            s = s[:leng]

print(len(s))

 

<고쳐야 할 점>

  • 더 짧게 줄일 수 있음