Algorithm 풀이/SW Expert Academy

[SWEA] 1989. 초심자의 회문 검사_python

yeguu 2022. 7. 17. 13:49

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PyTLqAf4DFAUq 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

* 문제의 저작권은 SW Expert Academy에 있습니다.


1. 문제

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

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


[제약 사항]

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


[입력]

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

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


[출력]

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

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

 

 

2. 내 풀이

T = int(input())

for i in range(1,T+1):
    word = input()
    for j in range(len(word)//2):
        if word[j] == word[-1-j]:
            answer = 1
        else:
            answer = 0
    print("#{} {}".format(i, answer))

 

-> 오랜만에 for문을 사용했다. 두 번째 for문을 사용할 때 range()의 규칙이 잠시 헷갈렸다. 그래서 구글링으로 다시 공부했다.

-> 마지막에 print를 사용할 때 '#{} {}'의 형태를 처음 사용해봤다. 정보처리기사를 공부할 때 공부한 것 같은데 조금 생소하게 느껴졌다. 추가로 공부할 게 생겼다!