본문 바로가기
Algorithm/baekjoon

[백준] 10988번 팰린드롬인지 확인하기 파이썬 (python)

by eoieiie 2024. 3. 12.

 

10988번: 팰린드롬인지 확인하기

첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.

www.acmicpc.net

문제 

알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오.

팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다. 

level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다.

 

입력

첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.

 

출력

첫째 줄에 팰린드롬이면 1, 아니면 0을 출력한다.

 

정답코드

word = list(str(input()))

if list(reversed(word)) == word:
    print(1)
else:
    print(0)

 

풀이

  1. 단어 인풋을 받음과 동시에 각 글자를 리스트로 저장한다. 
  2. reversed 함수를 활용해 조건을 걸어 출력한다. 

 

느낀 점 

input()의 간략한 활용법에 더 익숙해지는 것이 필요하다고 판단하였다. 처음에 리스트를 만들 때 이렇게 만들었었다:

a = input()

lista = []


for i in a:
    lista.append(i)

 

얼마나 번거로운가... 

또 다음과 같은 것들을 배웠다.

  1. .reverse 함수와 reversed() 함수는 사용 목적이 같으나  반환값이 다르다. 
  2. .reverse는 반환값이 None이며 원래 리스트를 역순으로 변경한다. 
  3. reversed()는 리스트의 역순을 반환한다. 원래 리스트를 바꾸지 않으면서 새로운 변수에  리스트의 역순을 대입할 수 있다. 
  4. 다음과 같이 역순으로 정리해도 된다:
  5. reversed_list = lista[::-1]

따로 함수들의 사용법과 기본적으로 알고 있어야 문제가 풀리는 문법들을 따로 정리하기로 마음먹었다. 

댓글