-
[백준 17609번] 회문코테공부 2025. 2. 28. 12:27
💡 핵심 아이디어
➀ 투포인터를 사용해 유사 회문(하나를 제거한 문자가 회문)인지 확인
➁ 맨 오른쪽, 왼쪽 비교했을때 같은 문자라서 이미 통과된 문자들은 신경쓸 필요 X, 양쪽 끝 문자 건너뛰고 남은애들 회문인지 확인하면 됨
import sys input=sys.stdin.readline def is_palindrome(word,l,r): while l<r: if word[l] != word[r]: return False l+=1 r-=1 return True n=int(input().rstrip()) def check_U_pal(word): #two pointer left,right=0,len(word)-1 while left < right: if word[left] != word[right]: #같지 않다면 #유사 회문은 가능한지 확인 if is_palindrome(word,left+1,right) or is_palindrome(word,left,right-1): return 1 else: return 2 left+=1 right-=1 return 0 for _ in range(n): word=str(input().rstrip()) print(check_U_pal(word))
'코테공부' 카테고리의 다른 글
[개념] 그리디 + [프로그래머스] 큰 수 만들기 (0) 2025.02.28 [프로그래머스] 문자열 압축 (0) 2025.02.27 [백준 16926번] 배열 돌리기 1 (0) 2025.02.27 [백준] 누적합구하기 (0) 2025.02.07 [프로그래머스] 01문자열,02재귀,03해쉬(셋,맵) (0) 2025.02.05