Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 문자열이 회문(Palindrome)인지 확인하는 방법

주어진 문자열이 회문(Palindrome)인지 확인하는 것은 프로그래밍 입문자가 자주 접하는 대표적인 문제입니다. 회문이란 앞에서부터 읽으나 뒤에서부터 읽으나 동일한 문자열을 의미합니다. 예를 들어 'madam', 'level', 'racecar'처럼 거꾸로 뒤집어도 원래 문자열과 같은 경우가 이에 해당합니다.

알고리즘

회문 여부를 확인하는 과정은 매우 간단합니다.

Step 1: 문자열을 입력받습니다.
Step 2: 슬라이싱(slicing) 기법으로 문자열을 뒤집은 뒤, 원본 문자열과 비교합니다.
Step 3: 비교 결과를 화면에 출력합니다.

핵심 포인트: 문자열 슬라이싱

파이썬의 슬라이싱 문법 [::-1]을 사용하면 별도의 반복문 없이 한 줄로 문자열을 역순으로 만들 수 있습니다. 이는 파이썬다운(Pythonic) 코드 작성의 좋은 예시이며, 다른 언어보다 훨씬 간결하게 문제를 해결할 수 있습니다.

예제 코드

my_string = input("Enter string:")
if my_string == my_string[::-1]:
    print("The string is a palindrome")
else:
    print("The string isn't a palindrome")

실행 결과

Enter string:madam
The string is a palindrome

Enter string:python
The string isn't a palindrome

코드 설명

input() 함수로 사용자에게서 문자열을 입력받습니다. 그다음 my_string[::-1]을 통해 입력값을 뒤집은 새 문자열을 생성하고, 조건문에서 원본과 일치하는지 검사합니다. 두 값이 같으면 회문이므로 해당 메시지를 출력하고, 그렇지 않으면 회문이 아니라는 메시지를 출력합니다.

마무리

이 프로그램은 파이썬의 강력한 슬라이싱 기능을 활용한 가장 직관적인 회문 판별 방법입니다. 추가적으로, 공백이나 특수문자를 제거한 뒤 비교하거나 대소문자를 통일(.lower())하여 더 엄격하게 판별하도록 확장할 수도 있습니다.