3011 : 팰린드롬 판별기
•시간제한: 1.000 S
•메모리제한: 256 MB
•제출: 96
•통과: 61
•만든사람: suakii
문제 설명
'토마토', '기러기', '우영우'처럼 앞으로 읽어도 거꾸로 읽어도 똑같은 단어를 팰린드롬(Palindrome)이라고 합니다.
알파벳 소문자로만 이루어진 단어가 하나 주어집니다. 이 단어가 팰린드롬인지 아닌지 판별하는 프로그램을 작성하세요.
[제약 조건]
• $1 \le (\text{문자열의 길이}) \le 100$
입력 설명
첫째 줄에 문자열이 주어집니다.
출력 설명
팰린드롬이면 Yes를, 아니면 No를 출력하세요.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
level
출력 예시
COPY
복사되었습니다!
복사되었습니다!
Yes
도움
[도움말]
문자열이 팰린드롬인지 판별할 때 유용한 다양한 방법들을 소개합니다.
1. 가장 쉬운 방법: 문자열 뒤집기 슬라이싱 (Python)
파이썬에서는 슬라이싱 스텝(step)에
원래 문자열과 뒤집은 문자열이 같은지 바로 비교하면 아주 간단히 해결됩니다!
2. 인덱스로 양쪽 대칭 비교하기 (C / C++ / Python 공통)
문자열의 양 끝에서부터 가운데로 좁혀오면서 서로 마주 보는 글자가 같은지 확인할 수도 있습니다.
• 맨 앞($0$번)과 맨 뒤($N-1$번) 비교:
• $i$번째 글자와 대칭 위치 글자 비교:
• 순회 중 단 하나라도 서로 다르면 팰린드롬이 아니므로
3. 주의할 점 (출력 대소문자)
• 문제 출력 형식에 맞춰 첫 글자만 대문자인
문자열이 팰린드롬인지 판별할 때 유용한 다양한 방법들을 소개합니다.
1. 가장 쉬운 방법: 문자열 뒤집기 슬라이싱 (Python)
파이썬에서는 슬라이싱 스텝(step)에
-1을 주면 문자열 전체를 한 번에 거꾸로 뒤집을 수 있습니다.원래 문자열과 뒤집은 문자열이 같은지 바로 비교하면 아주 간단히 해결됩니다!
word = input()
if word == word[::-1]: # 뒤집은 문자열과 똑같은지 확인
print("Yes")
else:
print("No")2. 인덱스로 양쪽 대칭 비교하기 (C / C++ / Python 공통)
문자열의 양 끝에서부터 가운데로 좁혀오면서 서로 마주 보는 글자가 같은지 확인할 수도 있습니다.
• 맨 앞($0$번)과 맨 뒤($N-1$번) 비교:
word[0] == word[length - 1] (파이썬은 word[-1])• $i$번째 글자와 대칭 위치 글자 비교:
word[i] == word[length - 1 - i]• 순회 중 단 하나라도 서로 다르면 팰린드롬이 아니므로
No가 됩니다.3. 주의할 점 (출력 대소문자)
• 문제 출력 형식에 맞춰 첫 글자만 대문자인
Yes와 No로 정확히 출력해야 정답 처리됩니다. (YES, yes 등은 오답 처리)