다음의 결과와 같이 반목문을 이용해 단어의 순서를 거꾸로 해 반환하는 함수를 작성하고
그 함수를 이용해 회문(앞뒤 어느 쪽에서도 같은 단어, 말) 여부를 판단하는 코드를 작성하십시오.
[입력]
eye
[출력]
eye
입력하신 단어는 회문(Palindrome)입니다.
def print_rev(temp):
result = temp[::-1]
return print(result)
def is_Pal(temp):
if temp == temp[::-1]:
return print("입력하신 단어는 회문(Palindrome)입니다.")
word = input()
print_rev(word)
is_Pal(word)
word = "word"
rev_word = "".join(reversed(word))
reversed()
는 return값으로 특정값의 reversed iterator를 반환하므로, 적절한 type으로 변환하여 사용하면 됩니다.help(reversed)
를 입력해봅시다!)참고로, reverse()
함수는 List 타입에서 사용 가능한 함수입니다.
join()
함수는 (구분자).join(문자열 또는 리스트 또는 튜플)
로 사용합니다.""(공백)
이 구분자가 되었습니다.word = "word"
rev_word = word[::-1]
문자열[시작값:종료값:구간]
을 기억합시다!!
즉, 문자열[::-1]
은 문자열의 시작부터 끝까지를 -1(뒤에서부터 1씩)
읽는 동작이 됩니다.
word = "word"
rev_word = ""
for i in word:
rev_word = i + rev_word
주의해야 할 점은 i
가 rev_word
보다 앞에 있다는 점입니다.
만약 뒤에 있다면 거꾸로가 되지 않고 원문과 똑같겠죠?
[Reference] : 위 글은 다음 내용을 참고, 인용하여 만들어졌습니다.
- 문제 : 삼성 SW Expert Academy
- reversed() / 문자열 slice : https://wikidocs.net/13#_9