N개의 문자열 데이터를 입력받아 앞에서 읽을 때나 뒤에서 읽을 때나 같은 경우(회문 문자열) 이면 YES를 출력하고 회문 문자열이 아니면 NO를 출력하는 프로그램을 작성한다.
단 회문을 검사할 때 대소문자를 구분하지 않습니다.
5
level
moon
abcba
soon
gooG
#1 YES
#2 NO
#3 YES
#4 NO
#5 YES
[내 코드]
N=int(input())
def is_string(str):
str=str.upper()
if str==str[::-1]:
return True
else:
return False
word=[]
for i in range(N):
word.append(str(input()))
for i in range(len(word)):
if(is_string(word[i])):
print("#%d YES" %(i+1))
else:
print("#%d NO" %(i+1))
- 입력받은 문자열을 모두 대문자로 변환(소문자로 변환도 상관없음)
- 문자열을 역순으로 했을 때 원래의 문자열과 일치하면 True반환
[해설코드]
n=int(input())
for i in range(n):
s=input()
s=s.upper()
size=len(s)
for j in range(size//2):
s[j]!=s[-1-j]:
print("#%d NO" %(i+1))
break
else:
print("#%d YES" %(i+1))