[알고리즘] 백준 1259 : 팰린드롬수 - B1

eternal moment·2023년 4월 14일
0

2023.04.14 풀이

import sys
input=sys.stdin.readline

while True:
    s=input().rstrip()
    res='yes'
    if s=='0':
        break
    for i in range(len(s)//2):
        if s[i]!=s[-1-i]:
            # print('no')
            res='no'
            break

    print(res)
  • s의 길이가 짝수이면 반으로 나눠 각각 비교, 홀수면 중앙값을 제외한 양 옆을 나눠 비교.
  • 반과 다른 반을 비교 -> s의 길이 절반에 해당하는 만큼만 반복문

2023.11.10 풀이

import sys
input=sys.stdin.readline

while True:
    s=input().rstrip()
    if int(s)==0:
        break
    if s==s[::-1]:
        print("yes")
    else:
        print("no")

다른 풀이

import sys
input=sys.stdin.readline

while True:
	s=input().rstrip()
    if s=='0':
    	break
    if s == s[::-1]:
    	print('yes')
    else:
    	print('no')
  • 더 간단한,,


check point

  • keyboard interrupt 에러에 애를 먹었다.
    sys.stdin.readline에 관해 \n 이 같이 입력되는걸 신경써줘야할 것 같다.
  • 문자열 뒤집기 - s[::-1] !!!!!!!!!!!!

0개의 댓글