소스 코드

import sys
input = sys.stdin.readline

n = int(input())
word = str(input())

check = 0
for q in range(1,n):
    l = word[:q]
    r = word[n-q:]

    cnt = 0
    for w in range(q):
        if l[w] != r[w]:
            cnt += 1

    if cnt == 1:
        check = 1
        break

if check == 1:
    print('YES')
else:
    print('NO')

 


해결 방법

1. 단어 확인해서 하나만 다른 경우에 break 걸면 되는 문제

2. 부분문자열의 최소값이 1이기 때문에 0번째 값과 n-1번째 값이 다른 경우에 그냥 종료되어버림


느낀 점

 

ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.

 

오류적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.

 

혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.