문제풀이/BOJ

[Python] BOJ/백준 1259번 팰린드롬수

서채리 2021. 7. 22. 17:52

[문제]

https://www.acmicpc.net/problem/1259

 

1259번: 팰린드롬수

입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.

www.acmicpc.net

 


[풀이]

처음 짠 코드는 입력받은 문자열 n의 맨 처음과 맨 끝에서부터 차례대로 일치하는지 비교하는 로직이다.

 

그러나 n을 뒤집은 값과 n이 같으면 펠린드롬수이기 때문에 [::-1]를 이용해 간단하게 풀 수 있다.

 

 

[코드]
- 간단 코드

if __name__ == '__main__':
    n = input()
    while n != '0':
        if n[::-1] == n:
            print("yes")
        else:
            print("no")
        n = input()

 

- 초기 코드

if __name__ == '__main__':
    n = input()
    while n != '0':
        flag = True
        for i in range(len(n)):
            if i == len(n) - 1 - i:
                break

            if n[i] == n[len(n) - 1 - i]:
                continue
            else:
                flag = False
        if flag:
            print("yes")
        else:
            print("no")
            
        n = input()