Python/알고리즘 문제풀이

[알고리즘] 회문 문자열 파이썬, python 회문 문자열 풀이

공삼이 2022. 10. 26. 17:50

파이썬 회문 문자열 풀이 (python algorithm)

문제) 각 문자열이 회문 문자열(대칭)일 경우 True, 그렇지 않을 경우 False를 출력하는 프로그램.

회문(palindrome)?

앞에서부터 읽으나 뒤에서부터 읽으나 동일한 단어나 구

EX) mom, madam, level, dad, wow, noon 

 

문자열 인덱싱 (string indexing)

a ='level'

인덱스를 나타내는 방법은 아래처럼 두가지가 있다.

  l e v e l
index 0 1 2 3 4
index -5 -4 -3 -2 -1

이 경우, 문자열이 대칭인지 확인하기 위해서는  a[0]==a[-1] and a[1]==a[-2] 를 만족해야 한다.

i=0 일 때 -i-1=-1

i=1 일 때 -i-1=-2

가 된다.

파이썬 풀이1

input

3

level

good

bad

n=int(input())

for i in range(n):
	s=input()
	size=len(s)   
	for j in range(size//2):
    	if s[j] == s[-1-j]:
        	print(True)
            break
	else:
    	print(False)

파이썬 풀이2

n=int(input())

for i in range(n):
    s=input()
    if s==s[::-1]:   #문자열을 리버스해주는 코드.
        print(True)
    else:
        print(False)