
아래 백준 로고를 클릭하면 해당 문제로 이동합니다 😀
나 혼자서만 어렵게 생각한 ... 문제일거야 ... 하아
일단 문자열 슬라이싱을 생각했다. 근데 길이가 홀수일때와 짝수일때 잘라야하는 범위가 다르다고 생각했다. 예를들면 이런거?
qwerewq은 길이가 7이라 홀수이니까 가운데 부분인r을 제외하고qwe와ewq로 잘라야한다.
asddsa은 길이가 6이라 짝수이니까 겹치는 부분이 없다고 생각하고asd와dsa로 잘라야한다.
심지어 이렇게 생각해서 코드도 겁나 복잡하게 짰습니다 ...
근데 다풀고 나니까 어차피 문자열 자체를 뒤집어도 똑같잖아 .. ? 라는 생각이 드는거있죠 ?
저 진짜 허탈해서 눈물이 살짝 날 뻔 했습니다
1. 본인의 헛수고 가득한 코드
input_word = input()
palindrome = 0
pivot = len(input_word) // 2
if len(input_word) % 2 == 0:
front = input_word[:pivot]
back = ''.join(reversed(input_word[pivot:]))
if front == back:
palindrome = 1
else:
front = input_word[:pivot]
back = ''.join(reversed(input_word[pivot+1:]))
if front == back:
palindrome = 1
print(palindrome)
2. 간단하게 전체 문자열 뒤집어서 비교
input_word = input()
if ''.join(reversed(input_word)) == input_word:
print(1)
else:
print(0)
2번 코드에서 덧붙이자면 문자열을 뒤집을땐 ''.join(reversed())를 쓰면 된답니다
