Baekjoon
[백준] 1254 팰린드롬 만들기 (실버2) / 문자열
hellosonic
2023. 4. 27. 22:08
문제요약
나의 코드 및 설명
s = list(input())
r_s = s[::-1]
if s == r_s:
print(len(s))
else:
min_ans = len(s)*2
ans = len(s)*2
for i in range(len(r_s)):
#뒤집은 문자열을 하나하나 떼어서 붙여본다.
check=s+r_s[i:len(r_s)]
#만약 뒤집은 문자열이 오리지날과 일치한다면 팰린드롬이다.
if check == check[::-1]:
ans = len(check)
if min_ans > ans:
min_ans = ans
print(min_ans)
피드백
문자열 문제 연습하다가 만난 문제. 처음에는 어떻게 문제를 풀까 10분 이상 고민한 것 같다. 그러다가 가장 긴 팰린드롬 문자열이 나오게 될 경우는 주어진 문자열을 완전히 뒤집어서 붙인 경우일 테고, 가장 짧은 팰린드롬 문자열은 맨 앞의 문자를 맨 뒤에 붙인 경우일 것이라고 생각을 했고, 정답 판정을 받을 수 있었다.