Notice
Recent Posts
Recent Comments
Link
컴퓨터는 잘못이 없다..
[알고리즘]BOJ_10988_팰린드롬인지 확인하기(파이썬 슬라이싱) 본문
Contents
접기
#문제 링크
https://www.acmicpc.net/problem/10988
#문제
https://www.acmicpc.net/problem/10988
팰린드롬인지 확인하기
시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 256 MB 10247 6841 5943 68.539%
문제
알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오.
팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다.
level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다.
입력
첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고,
100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.
출력
첫째 줄에 팰린드롬이면 1, 아니면 0을 출력한다.
예제 입력 1
level
예제 출력 1
1
예제 입력 2
baekjoon
예제 출력 2
0
#답안
import sys
input=sys.stdin.readline
#문자열을 입력받는다.
word=input().rstrip()
if word == word[::-1] :
print(1)
else :
print(0)
▲풀이
이 문제는 슬라이싱을 통해 풀면 빠르고 쉽게 풀 수 있다.
💩슬라이싱이란?
파이썬에서는 문자열 슬라이싱이라는 매우 편리한 기능을 제공한다. 무엇보다 내부적으로 매우 빠르게 동작한다.
위치를 지정하면 해당 위치의 배열 포인터를 얻게 되며 이를 통해 연결된 객체를 찾아 실제 값을 찾아낸다.
이 과정은 매우 빠르게 진행되므로 ⭐문자열을 조작할 때는 항상 슬라이싱을 우선으로 사용하는 편이 속도 개선에 유리하다.
슬라이싱에 대한 자세한 내용은 여기를 참고하자!
'공부 > 알고리즘(파이썬)' 카테고리의 다른 글
[알고리즘]BOJ_10773_제로(파이썬 스택) (0) | 2021.06.09 |
---|---|
[알고리즘]BOJ_1969_DNA(파이썬 collections모듈의 Counter사용하기, Counter객체를 정렬하기, 문자열에서 문자하나하나 리스트로 입력받기, 2차원 리스트 입력받기) (0) | 2021.06.03 |
[알고리즘]BOJ_12845_모두의 마블(파이썬 내림차순 정렬) (0) | 2021.06.03 |
Comments