• TOC {:toc}

이 글은 백준 온라인 저지의 10988번 문제를 파이썬(Python)으로 풀이한 것을 모아놓은 글입니다.

일종의 연습 기록이며 제가 정답을 받은 코드와 참고할만한 다른 코드를 같이 기록합니다. 필요한 경우 코드에 대한 해설을 기록합니다만 코드는 통과했어도 해설은 틀릴 수 있기 때문에 가볍게 참고해주시길 부탁드립니다. 피드백은 편하신 방법으로 자유롭게 주시면 감사하겠습니다.

2021.03.26

메모리 시간 코드 길이
28776 KB 68 ms 117 B
s = input()
l = len(s)

for i in range(l // 2):
    # 비교하는 글자가 다를 경우 
    if s[i] != s[l - i - 1]:
        #` 0`을 출력하고
        print(0)
        # 프로그램을 종료한다.
        quit()
print(1)

아이디어 & 풀이

첫 글자부터 중간 글자인 l // 2 - 1 번째 글자까지 비교를 끝내면 1을 출력한다.

참고 답안

# 풀이 1-1
n = list(input())
m = []
r = 0
# 주어진 단어를 역전 시켜 m의 원소를 담음
for i in range(len(n) - 1, -1, -1):
    m.append(n[i])
for j in range(len(m)):
    # 동일한 자리의 문자가 같으면
    if n[j] == m[j]:
        # r에 1을 대입
        r = 1
    # 다르면
    else:
        # r에 0을 대입 후 break
        r = 0
        break
print(r)

# 풀이 1-2
n = input()
# 문자열을 리스트로 변환한 뒤 역전
# 굳이 리스트로 변환하지 않아도 역전 시켜 비교할 수 있긴 하다.
reverse = list(reversed(list(n)))

# 역전시킨 리스트를 원 문자열 리스트와 비교한다.
# 파이썬에서 리스트 비교는 첫 인덱스부터 순차적으로 원솟값을 비교한다.
if reverse == list(n):
    print(1)
else:
    print(0)

# 풀이 1-3
s = input()
# s[::-1]을 이용해 문자열을 역전시킨 뒤 비교한다.
# 같으면 결괏값으로 1, 다르면 0을 반환한다.
print(int(s == s[::-1]))

아이디어 & 풀이

주어진 단어를 역전시켜서 원 단어와 비교한다.