알고리즘/백준
[Python] 백준 17609 : 회문
juhi
2021. 3. 31. 18:34
풀이 방법
- 투포인터로 하나씩 비교한다.
- 만약 좌우가 다른 문자가 나올 경우, left+1해서 검사하고 right-1해서 검사한다.
- 두 검사 결과 중 하나라도 회문이라면 유사회문이다.
전체 코드
def check(left, right):
while left < right:
if s[left] == s[right]:
left += 1
right -= 1
else:
return False
return True
def twopointer(left, right):
while left < right:
if s[left] == s[right]:
left += 1
right -= 1
else:
if check(left+1, right) or check(left, right-1):
return 1
return 2
return 0
T = int(input())
for _ in range(T):
s = input()
print(twopointer(0, len(s)-1))
반응형