티스토리 뷰

ALGORITHM/BOJ

백준 1259 팰린드롬수.py

뚜비두빱 2021. 12. 5. 18:40

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

 

1259번: 팰린드롬수

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

www.acmicpc.net

 

숫자가 팰린드롬수 인지 확인하는 문제 입니다.

팰린드롬수는 숫자를 뒤집어도 같은 숫자가 나오는 수를 팰린드롬수 라고 호칭합니다.

12321은 뒤집어도 12321이 됩니다. 

숫자를 뒤집기보다는 문자열을 뒤집는게 쉬우므로 숫자를 문자열로 받은 뒤에 비교해주면 됩니다.

 

# https://www.acmicpc.net/problem/1259
# 팰린드롬수.py

while True:
    n = input()
    if n == '0':
        break
    print('yes') if n == n[::-1] else print('no')

arr[::], arr[1:2:3], arr[::-1] 등으로 배열의 index에 접근하는 방법을 Extended Slices 라고 부릅니다.

설명

arr[A:B:C]의 의미는, index A 부터 index B 까지 C의 간격으로 배열을 만들어라는 말입니다.
만약 A가 None 이라면, 처음부터 라는 뜻이고
B가 None 이라면, 할 수 있는 데까지 (C가 양수라면 마지막 index까지, C가 음수라면 첫 index까지가 되겠습니다.)라는 뜻입니다.
마지막으로 C가 None 이라면 한 칸 간격으로 라는 뜻입니다.

예시

>> arr = range(10)
>> arr
[0,1,2,3,4,5,6,7,8,9]
>> arr[::2] # 처음부터 끝까지 두 칸 간격으로
[0,2,4,6,8]
>> arr[1::2] # index 1 부터 끝까지 두 칸 간격으로
[1,3,5,7,9]
>> arr[::-1] # 처음부터 끝까지 -1칸 간격으로 ( == 역순으로)
[9,8,7,6,5,4,3,2,1,0]
>> arr[::-2] # 처음부터 끝까지 -2칸 간격으로 ( == 역순, 두 칸 간격으로)
[9,7,5,3,1]
>> arr[3::-1] # index 3 부터 끝까지 -1칸 간격으로 ( == 역순으로)
[3,2,1,0]
>> arr[1:6:2] # index 1 부터 index 6 까지 두 칸 간격으로
[1,3,5]


출처: https://blog.wonkyunglee.io/3 [Wonkyung's blog]

'ALGORITHM > BOJ' 카테고리의 다른 글

[백준] 1339 단어 수학  (0) 2021.12.26
[백준] 문자열 폭발  (0) 2021.11.08
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함