처음에는 리버스를 활용할 생각을 못하고 리스트로 만들어 하나하나 쪼개서 반반 나눈 리스트를 만든 뒤
두 리스트가 같은지 확인하는 식으로 써내려 나갔다.
s = input()
n = 0
front = []
back = []
if n % 2 == 0 : // 입력한 단어가 홀수인지 짝수인지 구분하기
n = len(s)//2
for i in range(len(s)):
if i+1 <= n :
front.append(s[i])
elif i+1 > n :
back.append(s[i])
else:
n = len(s)//2+1
for i in range(len(s)):
if i+1 < n :
front.append(s[i])
elif i+1 > n :
back.append(s[i])
back_1 = back[::-1] //뒷부분은 역순으로 바꿔서 같은지 확인하기
result = 0
for i in range(len(front)):
if ord(front[i]) == ord(back_1[i]) : //아스키코드를 이용해 비교했는데 이렇게 안해도 되던가..?
result = 1
else :
result = 0
break
print(result)
덕분에 코드의 길이가 굉장히 길어져 버렸다..
vscode에서는 정상적으로 작동하고 입,출력이 원활하게 이루어졌다.
또, 왜인지 모르곘지만 백준에 제출을하니 99퍼까지는 채점이 진행되다가 갑자기 틀렸다고 나온다.
99퍼까지 진행되고 틀렸다고 나온경우는 처음이라 굉장히 당황스럽다.
코드에 뭔가 잘못된게 있는가 한참 찾다가 결국 정답을 찾지 못해서 구글링해서 다른 사람들의 코드를 들여다 보았다.
word = list(str(input()))
if list(reversed(word)) == word:
print(1)
else:
print(0)
코드가 굉장히 심플해졌다. 단지, 리버스를 사용했다는 하나만으로 ...
때에 따라서 어떤 함수를 사용하고 어떤식으로 사용해야 하는지 하루하루 새로이 배워나가는 것 같다.
이렇게나 간단한 문제를 얼마나 어렵게 생각하고 고민하고 코드를 써 내려갔단 말인가..
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준 문제풀이 : 11005번] 파이썬 - 진법 변환2 (0) | 2023.08.24 |
---|---|
[백준 문제풀이 : 2941번] 파이썬 - 크로아티아 알파벳 (0) | 2023.08.16 |
[백준 문제풀이 : 5622번] 파이썬 - 다이얼 (0) | 2023.08.11 |
[백준 문제풀이 : 2908번] 파이썬 - 상수 (0) | 2023.08.11 |
[백준 문제풀이 : 10809번] 파이썬 - 알파벳 찾기 (0) | 2023.08.10 |