728x90
https://www.acmicpc.net/problem/17609
💡 문제 풀이
투포인터 문제이다.
조건에 맞춰서 잘 출력만 해주면 된다.
✔️ 느낀 점
사실 구현하는데 생각보다 오래 걸렸다.
💻 코드
import sys
input = sys.stdin.readline
def ispseudo(word, left, right):
while left < right:
if word[left] == word[right]:
left += 1
right -= 1
else:
return False
return True
def ispalindrome(word):
left, right = 0, len(word)-1
if word == word[::-1]:
return 0
else:
while left < right:
if word[left] != word[right]:
check_left = ispseudo(word, left + 1, right)
check_right = ispseudo(word, left, right - 1)
if check_left or check_right:
return 1
else:
return 2
else:
left += 1
right -= 1
T = int(input().rstrip("\n"))
for _ in range(T):
word = input().rstrip("\n")
print(ispalindrome(word))
'문제 풀이 > 백준(BOJ)' 카테고리의 다른 글
[Python] 백준 2230번 : 수 고르기 (0) | 2023.02.23 |
---|---|
[Python] 백준 13023번 : ABCDE (0) | 2023.02.23 |
[Python] 백준 14502번 : 연구소 (0) | 2023.02.22 |
[Python] 백준 10986번 : 나머지 합 (0) | 2023.02.14 |
[Python] 백준 6603번 : 로또 (0) | 2023.02.14 |
댓글