본문 바로가기

알고리즘(파이썬)

회문 문자열

회문이란 앞에서 읽으나 뒤에서 읽으나 동일한 문자열을 의미한다. 어떤 문자열이 주어졌을 때 회문인지 판별하는 방법은 아래와 같다.

s=input().upper()
size=len(s)
for j in range(size//2):
    if s[j]!=s[-1-j]:
        print("NO")	# 회문 아님
        break
else:	
    print("YES")	# 회문

 

위에서 s[-1-j] 같은 모습을 볼 수 있는데

이는 파이썬의 인덱싱 방식 중 하나로, 리스트나 문자열에서 뒤에서 첫 번째 요소(마지막 요소)를 의미한다.

s="hello"
print(s[-1])	# 'o'
print(s[-2])	# 'l'
print(s[-3])	# 'l'

 

반복문 뿐만 아니라 슬라이싱 방식으로도 회문 문자열을 판별할 수 있다.

if s == s[::-1]:  # 문자열을 뒤집어서 비교
    print("YES")
else:
    print("NO")

 

파이썬에서 슬라이싱을 활용하면 s[::-1]처럼 간단한 방식으로 문자열을 뒤집을 수 있다.

(step=-1이므로 오른쪽에서 왼쪽으로 읽는다)

 

'알고리즘(파이썬)' 카테고리의 다른 글

append()와 +의 차이  (0) 2025.02.12
자바와 다른 파이썬  (1) 2025.02.11
소수 찾기 & 숫자 뒤집기  (0) 2025.02.11
소수 개수 구하기(에라토스테네스의 체)  (0) 2025.02.11
자릿수의 합 구하기  (0) 2025.02.11