알고리즘/인프런: 파이썬 알고리즘 문제풀이
탐색&시뮬레이션 문제 #1. 회문 문자열 검사
bearbrick
2022. 5. 27. 13:40
*이 풀이는 인프런: 파이썬 알고리즘 문제풀이 강좌에 기반하였습니다.
내 풀이
1. 대소문자를 구별하지 않는다고 했으므로 문자열을 전부 소문자로 변경
2. 앞에서 읽거나 뒤에서 읽거나 같은 경우를 찾기 위해서 문자열의 슬라이스 기능을 사용
import sys
sys.stdin=open("input.txt","rt")
n=int(input())
for i in range(n):
string = input()
string = string.lower()
if string==string[::-1]:
print('#%d YES' %(i+1))
else:
print('#%d NO' %(i+1))
강사님 풀이
import sys
sys.stdin=open("input.txt","rt")
n=int(input())
for i in range(n):
s=input()
s=s.upper()
size=len(s)
for j in range(size//2):
if s[j]!=s[-1-j]:
print("#%d NO" %(i+1))
break
else:
print("#%d YES" %(i+1))
배운 점
1. 파이썬의 슬라이스 기능을 이용하는 것도 좋지만, 직접 구현해보자.
2. 파이썬에서 문자열을 뒤에서부터 인덱스를 붙인다면, 맨끝부터 -1, -2, ... 순으로 인덱스를 붙인다.