https://www.acmicpc.net/problem/17609
문제 분석
난이도
골드5
분류
이분탐색
들어가기 전에
회문이라는 이름이 들어가는 문제들은 정말 태그가 다양하다.
문제
문제 풀이
풀이
좌우 투 포인터인데 같은 문자가 아니라면 왼쪽 한칸 이동 / 오른쪽 한칸 이동 시켜준 뒤 회문판별을 시켜주면 된다.
소스코드
from sys import stdin
input=stdin.readline
for _ in range(int(input())):
s=input().rstrip()
l=0
r=len(s)-1
p=0
able=True
while l<r:
if s[l]==s[r]:
l+=1
r-=1
elif s[l+1]==s[r]:
l+=1
p+=1
else:
able=False
break
if able:
if p==0:
print(0)
continue
elif p==1:
print(1)
continue
able=True
p=0
l=0
r=len(s)-1
while l<r:
if s[l]==s[r]:
l+=1
r-=1
elif s[l]==s[r-1]:
r-=1
p+=1
else:
able=False
break
if able:
if p==0:
print(0)
elif p==1:
print(1)
else:
print(2)
else:
print(2)
후기
'Koala - 10기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/Python] 1940 주몽 (0) | 2023.03.26 |
---|---|
[백준/Python] 14465번: 소가 길을 건너간 이유 5 (슬라이딩 윈도우) (0) | 2023.03.26 |
[백준/Python] 21610 마법사 상어와 비바라기 (0) | 2023.03.26 |
[백준/python] #14465 : 소가 길을 건너간 이유 (0) | 2023.03.26 |
[백준/C++] 2230번 : 수 고르기 (0) | 2023.03.25 |