문제
https://www.acmicpc.net/problem/17609
코드
t = int(input())
def cal(st):
left = 0
right = len(st) - 1
while left < right:
if st[left] == st[right]:
left += 1
right -= 1
else:
# 오른쪽 잘못 된 경우
temp = st[:right] + st[right + 1:]
if temp[:] == temp[::-1]:
return 1
# 왼쪽 잘못 된 경우
temp = st[:left] + st[left + 1:]
if temp[:] == temp[::-1]:
return 1
return 2
return 0
for _ in range(t):
print(cal(input()))
생각 정리
투포인터를 이용하여 문제를 해결하였다.
'문제풀이 > 기타' 카테고리의 다른 글
[파이썬] [문자열] 백준 20291 파일 정리 (0) | 2023.01.10 |
---|---|
[파이썬] [문자열] 백준 17413 단어 뒤집기 2 (0) | 2023.01.09 |
@[파이썬] [문자열] 백준 20437 문자열 게임 2 (0) | 2023.01.06 |
@[파이썬] [문자열] 백준 3107 IPv6 (0) | 2023.01.04 |
[파이썬] [문자열] 백준 1764 듣보잡 (0) | 2023.01.03 |