[SWEA-d2]1989. 초심자의 회문 검사 - python

iamjinseo·2022년 10월 27일
0

문제풀이-Python

목록 보기
122/134
post-thumbnail
post-custom-banner

https://swexpertacademy.com/main/solvingProblem/solvingProblem.do

문제 설명

"level" 과 같이 거꾸로 읽어도 제대로 읽은 것과 같은 문장이나 낱말을 회문(回文, palindrome)이라 한다.

단어를 입력 받아 회문이면 1을 출력하고, 아니라면 0을 출력하는 프로그램을 작성하라.

[제약 사항]

각 단어의 길이는 3 이상 10 이하이다.

[입력]

가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.

각 테스트 케이스의 첫 번째 줄에 하나의 단어가 주어진다.

[출력]

출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다.

(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)

입력

3
level     
samsung
eye  

출력

#1 1
#2 0
#3 1

풀이

for i in range(int(input())):
    s = input()
    # s2 = reversed(s)
    # print(type(s2), s2, "".join(s2))
    print(f"#{i+1} 1") if s == "".join(reversed(s)) else print(f"#{i+1} 0")

이번 문제는 쉬웠지만 reversed때문에 글을 써봤다.

처음에는 조건문 부분을

if s == reversed(s)

라고 썼는데 틀렸다. reversed()는 iterator를 반환하기 때문이다.
따라서 문자열인 s와 비교하려면 join()을 통해 문자열로 변경해야한다.

profile
일단 뭐라도 해보는 중
post-custom-banner

0개의 댓글