본문 바로가기
프로그래밍언어/Python

[Python] 회문 문자열

by Yikanghee 2022. 1. 28.
  • N개의 문자열 데이터를 입력받아 앞에서 읽을 때나 뒤에서 읽을 때나 같은 경우이면 YES를 출력하고 아니면 NO를 출력하는 프로그램을 작성한다.
  • 단 회문을 검사할 때 대소문자를 구분하지 않습니다
n=int(input())
for i in range(n):
    s=input()
    s=s.upper()
    for j in range(size//2): #2
        if s[j]!=s[-1-j]: #0 -1 1 -2
            print("#%d NO" %(i+1))
            break

    else:
        print("#%d YES" %(i+1))

첫번째 방법은 FOR ELSE문을 사용한 방법이다

s[j] 배열과 s[-1-j]배열을 비교하여 같지 않을 경우 NO를 출력해주고

FOR문이 BREAK되었을때 ELSE문을 출력한다

n=int(input())
for i in range(n):
    s=input()
    s=s.upper()
    
    if s == s[::-1]:
        print("#%d YES" %(i+1))
    else:
        print("#%d NO" %(i+1))

두번째 방법은 s[::-1]을 사용한 방법이다

똑바로 출력된 문자열과 반대로 출력된 문자열을 비교하여 답을 출력하면 된다

댓글