백준 13235번 문제 링크
문제 이름 : 팰린드롬
주 언어 : Python
태그 : 구현 / 문자열
solved.ac 등급 : Bronze II (2023/05/17 확인)
문제 보기
문제 :
팰린드롬은 앞에서부터 읽을 때와 뒤에서부터 읽을 때가 똑같은 단어를 의미한다. 예를 들어, eve, eevee는 팰린드롬이고, eeve는 팰린드롬이 아니다. 단어가 주어졌을 때, 팰린드롬인지 아닌지 판단해보자.
입력 :
길이가 20보다 작거나 같은 단어가 주어진다. 단어는 알파벳 소문자로 이루어져 있다.
출력 :
입력으로 주어진 단어가 팰린드롬이면 "true", 아니면 "false"를 출력한다.
백준 10988번 - 팰린드롬인지 확인하기 와 같이 단순한 팰린드롬 확인 문제입니다.
for문에서 range(a, b, c) 를 사용하는것처럼 c = -1을 넣었다고 생각해서 "문자열"[::-1]을 하면, 문자열이 뒤집혀서 "문자열"[::-1] == "열자문"이 됩니다.
그렇다면 팰린드롬인지 판단하는 방법은 어떤 문자열 S에 대하여, S == S[::-1]이면 팰린드롬으로 판단해줄 수 있습니다.
문자열을 뒤집을 수 없는 언어라면 첫번째 글자와 마지막 글자가 동일한지, 2번째 글자와 뒤에서 2번째 글자가 동일한지...를 계속 비교하면서 풀어주어야 합니다.
위의 코드에서 3번째 줄 부터 6번째 줄 까지를 그냥 한줄로 print(str(S == S[::-1]).lower())로 대체 할 수 있는데, 팰린드롬이라면 print(str(True).lower())가 되고, print("True".lower())가 되어 True를 소문자로 바꾼 true가 출력되고, 반대의 경우도 동일합니다.
-번째 푼 문제 (2022/--/--)