파이썬 회문 판별(palindrome)
회문(palindrome) : 순서를 거꾸로 읽어도 제대로 읽은 것과 같은 단어와 문장
Ex) 'level', 'sos', 'nurses run' 같은 단어와 문장
'l e v e l' 을 예를들어 보면, 첫 문자와 마지막 문자가 동일하고, 안으로 들어갈 수록 서로 같으면 회문
def palindrome(word):
for i in range(len(word) // 2):
if word[i] != word[-1 -i]:
return False
return True
print(palindrome('level'))
True
회문은 거꾸로 읽어도 동일하므로, 입력받은 문자열을 리스트로 변환하여 reversed(역순)와 비교하는 방법도 가능하다
words = ['level','sos','mama' ]
for word in words:
if list(word) == list(reversed(word)): # 역순과 비교
print(word, "회문 입니다")
else:
print(word, "회문이 아닙니다")
level 회문 입니다
sos 회문 입니다
mama 회문이 아닙니다
'Python > Data Struc & algo' 카테고리의 다른 글
[Python] collections Counter를 이용한 합집합, 교집합, 차집합 구하기 (0) | 2018.05.13 |
---|---|
[Python] collections deque를 이용하여 리스트의 왼쪽에 요소 추가하기 (0) | 2018.05.13 |
[Python] To find the sum of odd numbers up to the number range of N. (파이썬 N의 수 범위까지의 홀수의 합 구하기) (0) | 2018.04.22 |
[Python] 홀수의 정수 리스트에서 중간값 추출하기 (1) | 2018.04.19 |
프로그래머스 Lv2 - 자연수를 뒤집어 리스트로 만들기 (0) | 2018.04.18 |
프로그래머스 Lv1 - x만큼 간격이 있는 n개의 숫자 (0) | 2018.04.18 |
프로그래머스 - Lv1 제일 작은 수 제거하기 (0) | 2018.04.17 |
[Python] collections - Counter 객체 (0) | 2018.04.13 |