-
[백준 파이썬 1259번] 팰린드롬수 알고리즘 pythonAlgorithm/Baekjoon 2022. 4. 14. 18:46
문제 :
어떤 단어를 앞에서 뒤에서 읽어도 똑같은 것을 팰린드롬이라고 한다. 수도 팰린드롬으로 취급할 수 있는데, 앞에 무의미한 0이 올 수도 있지만 이번 문제에서는 올 수 없다고 한다.
답 :
while True: a = input() count=0 if a =='0': break for i in range(len(a)//2): #반절만 비교 if a[i] != a[-(i+1)]: count+=1 break print('yes' if count==0 else 'no')
주목할 점 :
반만 확인하면 전부 확인하는 것이다.
a =input() for i in range(len(a)//2)
주어진 숫자의 길이가 홀수, 짝수일 경우 생각하는 것.
for i in range(len(a)//2): # 반으로 나누고 소수점을 버림 >>> 홀수 짝수 공통적용 #길이가 홀수인 경우 팰린드롬수 건 아니 건 가운데 숫자는 필요없다.
다 통과했을 경우, 통과 못했을 경우
# 틀렸을 경우는 쉽게 잡을 수 있지만 다 통과했을 경우에서 생각이 조금 필요했음 for i in range(len(a)//2): if a[i] != a[-(i+1)]: print('no') break #다를 경우 break문의 사용은 똑같지만, 체크할 수 있는 변수(count)를 설정하여 판별 count = 0 for i in range(len(a)//2): if a[i] != a[-(i+1)]: count += 1 break print('yes' if count == 0 else 'no')
'Algorithm > Baekjoon' 카테고리의 다른 글
백준 1920번 수 찾기 파이썬 python (0) 2022.04.29 백준 1526번 python 가장 큰 금민수 (0) 2022.04.19 [백준 파이썬 1225번] 이상한 곱셈 알고리즘 python (0) 2022.04.14 [백준 파이썬 1100번] 하얀칸 알고리즘 python (0) 2022.04.13 [백준 파이썬 1110번] 더하기 사이클 알고리즘 python (0) 2022.03.31