문제
"level" 과 같이 거꾸로 읽어도 제대로 읽은 것과 같은 문장이나 낱말을 회문(回文, palindrome)이라 한다.
단어를 입력 받아 회문이면 1을 출력하고, 아니라면 0을 출력하는 프로그램을 작성하라.
[제약 사항]
각 단어의 길이는 3 이상 10 이하이다.
[입력]
가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.
각 테스트 케이스의 첫 번째 줄에 하나의 단어가 주어진다.
[출력]
출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)
문제 풀이
입력 받은 문자열 원본과 거꾸로 뒤집은 문자열이 같은지를 비교해준다.
직접 뒤집는 방법도 있겠으나, 파이썬에서는 내장 함수를 사용하면 쉽게 문제를 해결할 수 있다.
strip()
: 문자열 양 끝에 있는 공백을 제거하는 함수
reverse()
: 리스트의 원소를 뒤집어주는 함수
join(iterable)
: iterable의 모든 원소를 sep과 함께 합쳐 하나의 문자열로 변환해주는 함수
* iterable: list, string, tuple
작성 코드
T = int(input())
for test_case in range(1, T + 1):
origin = input().strip()
tmp = list(origin)
tmp.reverse()
rev = ''.join(s for s in tmp)
print(f'#{test_case} {1 if origin == rev else 0}')
'Problem Solving' 카테고리의 다른 글
[SWEA] D2 - 1986. 지그재그 숫자 in 파이썬 (0) | 2022.05.19 |
---|---|
[SWEA] D2 - 1970. 쉬운 거스름돈 in 파이썬 (0) | 2022.05.18 |
[SWEA] D2 - 1979. 어디에 단어가 들어갈 수 있을까 in 파이썬 (0) | 2022.05.17 |
[SWEA] D2 - 2001. 파리 퇴치 in 파이썬 (0) | 2022.05.17 |
[SWEA] D2 - 1983. 조교의 성적 매기기 in 파이썬 (0) | 2022.05.17 |