알고리즘/SWEA

[Python] SWEA D2 1989번 - 초심자의 회문 검사

번잔중 2022. 6. 2. 17:30
 

SW Expert Academy

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

swexpertacademy.com

이 문제는 슬라이싱을 이용해서 간단하게 풀어줄 수 있는데요. 문자열[:] 또는 문자열[::] 형태로 슬라이싱을 사용할 수 있습니다.

- 콜론(:)이 하나인 경우: string[시작:끝]을 의미하여 word = 'ABCDEFG'라는 문자열을 word[0:3] 형태로 만든다면 'ABC'까지를 의미합니다.

- 콜론(::)이 둘인 경우: string[시작:끝:규칙]을 의미합니다. word= 'ABCDEFG'를 word[::1]인 경우 'ABCDEFG'를 의미하지만 word[::2]라면 'ACEG' 형태로 인덱스를 2씩 증가시킵니다. word[::-1]은 뒤에서부터 인덱스를 하나씩 가져온다는 것을 의미하여 'GFEDCBA'를 의미합니다.

- 회문이라는 것은 팰린드롬이라고도 하며 흔한 문제입니다.

- level, cooc 등 역순으로 출력해도 같은 단어를 의미합니다. 거꾸로해도 이효리

- word에 문자열 형태로 입력을 받아줍니다.

- if문을 이용하여 word와 word의 역순(word[::-1])을 비교하여 True라면 1을 출력합니다. 아니면 0

t = int(input())
for i in range(t):
    word = input()
    if word == word[::-1]: # word[::-1]은 문자열을 역순으로 출력한다.
        chk = 1
    else:
        chk = 0
    print("#%d %d" % (i + 1, chk))

피드백은 언제나 환영합니다.