광고
광고
소스 코드
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. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.
'코딩 문제해결 > 문제 풀이.백준' 카테고리의 다른 글
[BOJ/백준 코딩] 회사 문화 1 - PYTHON #14267 (1) | 2023.06.17 |
---|---|
[BOJ/백준 코딩] Final Price - PYTHON #28224 (0) | 2023.06.17 |
[BOJ/백준 코딩] 구간 합 구하기 - PYTHON #2042 (0) | 2023.06.04 |
[BOJ/백준 코딩] 과제는 끝나지 않아! - PYTHON #17952 (0) | 2023.06.03 |
[BOJ/백준 코딩] 크로아티아 알파벳 - PYTHON #2941 (0) | 2023.06.02 |