프로그래밍 공부/알고리즘 공부

자료구조_큐와스택, 회문 찾기

응_비 2020. 10. 27. 22:16

회문 : 순서대로 읽어도, 거꾸로 읽어도 그 내용이 같은 낱말이나 문장을 의미.

 

큐 : '줄 서기'(가장 먼저 줄 선 사람이, 가장 먼저 택시를 타게 됨.)

스택 : '접시 쌓기'(가장 마지막에 들어간 자료를 가장 먼저 꺼내는 구조)

def palindrome(s):

qu = []
st= []

for x in s:
# 큐와 스택에 각각 그 문자를 추가
	if x.isalpha():
    	qu.append(x.lower())
        st.append(x.lower())
# 큐와 스택에 들어있는 문자를 꺼내면서 비교
    while qu:
    	if qu.pop(0) ! = st.pop():
# 큐와 스택에서 꺼낸 문자가 다르면 회문이 아님. 
       	return False
        
    return True
    
print(palindrome("Wow"))
print(palindrome("Madam, I'm Adam"))
print(palindrome("madam, I am Adam."))