728x90
문제
팰린드롬은 앞으로 읽으나 뒤로 읽으나 똑같은 단어나 숫자들을 말한다. 일반적으로 대소문자를 구분하지 않지만, 공백은 구분한다.
다음은 팰린드롬의 예시이다.
- Anna
- Harrah
- Arora
- Nat tan
- 9998999
- 123 321
- $$$&&$$$
모든 라인에 대해 팰린드롬인지 아닌지를 구분하는 프로그램을 작성하시오.
- 입력
첫째 줄에 테스트 케이스의 개수 n이 주어진다.
각 테스트 케이스는 한 줄의 텍스트로 이루어져있으며, 비어있는 줄은 없다.
- 출력
각 테스트 케이스에 대해 정답을 출력한다.
팰린드롬일 경우 "Yes"를 출력하고, 그렇지 않을 경우 "No"를 출력한다.
- 코드
def palindrome(str): # 소문자로 변환 # Change small letter str = str.lower() # 반복문 횟수 # number of iteration length = len(str) // 2 for i in range(length): # index에 맞게 문자열이 같은지 확인 # Check that the strings are the same for index # 시간 단축을 위해 하나라도 틀리면 바로 return 'No' # For time reducing if one is false then return 'No' if str[i] != str[(len(str)-1)-i]: return 'No' # 여기까지 왔다면 동일하다는 증거이기 때문에 Yes return # Reaching this point means that all strings are same so we return 'Yes' return 'Yes' def solution(): num = int(input()) for i in range(num): print(palindrome(input())) solution()
- 출처
728x90
'알고리즘' 카테고리의 다른 글
백준 2839번: 설탕 배달 (python, 파이썬) (0) | 2020.10.07 |
---|---|
백준 6603번: 로또 (python, 파이썬) (0) | 2020.10.06 |
백준 15649번: N과 M (python, 파이썬) (2) | 2020.10.05 |
백준 2309번: 일곱 난쟁이 (python, 파이썬) (0) | 2020.10.04 |
백준 1065번: 한수 (python, 파이썬) (0) | 2020.10.03 |
댓글