1254 - python
문제
내풀이
s = input()
mid = len(s)//2
f,r = mid, mid+1
if len(s) == 1:
print(1)
elif len(s) == 2:
print(3)
else:
while(True):
if f == 0 and r == len(s)-1 and s[f] == s[r]:
print(len(s))
break
if s[f] == s[r]:
f -= 1
r += 1
else:
if mid-f == r-mid:
mid += 1
f = mid
r = mid + 1
elif mid-f <= r-mid:
f -= 1
else:
r += 1
if r == len(s):
if mid == len(s) - 1:
s += s[mid-1]
else:
s += s[f]
front 와 mid로 하나씩 비교해가면서 풀려고 했지만, 점점 더러워지면서 테케는 맞는데 통과를 못했다.
다른 사람 풀이
s=input()
for i in range(len(s)):
print(s[i:][::-1])
print()
if s[i:]==s[i:][::-1]:
print(len(s)+i)
break
문자열 뒤집기 [::-1] 을 사용
지렷다
i번째부터 끝까지랑 이걸 뒤집은게 같으면 그앞에거만큼 뒤집어서 넣어주면 된다.
Author And Source
이 문제에 관하여(1254 - python), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gothae/1254-python저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)