1. 문제
https://www.acmicpc.net/problem/1254
1254번: 팰린드롬 만들기
동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다. 동호는
www.acmicpc.net
2. 풀이
import sys
input = sys.stdin.readline
# s : 펠린드롬 만들기 전 문자열
s = input().strip()
felLen = 0
sLen = len(s)
maxLen = sLen * 2
for i in range(sLen, maxLen + 1):
if sLen < i:
addStr = list(s[0:i-sLen])
addStr.reverse()
felStr = s + ''.join(addStr)
else:
felStr = s
if i % 2 == 0:
felStan = i // 2
elif i % 2 == 1:
felStan = (i // 2) + 1
isFel = True
for j in range(felStan, i):
if felStr[j] != felStr[i - j - 1]:
isFel = False
break
if isFel:
felLen = i
break
print(felLen)
'알고리즘 공부 > 백준' 카테고리의 다른 글
(Python)백준 코딩테스트 연습 - 에디터(1406) (0) | 2023.03.25 |
---|---|
(Python)백준 코딩테스트 연습 - 폴짝폴짝(1326) (0) | 2023.03.18 |
(Python)백준 코딩테스트 연습 - 사람의 수(1206) (0) | 2023.03.14 |
(Python)백준 코딩테스트 연습 - 삼각형으로 자르기(1198) (0) | 2023.03.11 |
(Python)백준 코딩테스트 연습 - 부분수열의 합(1182) (0) | 2023.03.10 |