티스토리 뷰
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
링크
TAG
- Two Scoops of Django
- conTeXt
- taggit
- 독후감
- 의대 신경학 강의
- 소프트웨어 장인
- 문자열 뒤집기
- go context
- ManyToMany
- 팰린드롬수
- query
- 파이썬
- stdout
- gunicorn
- for-else
- 방금그곡
- Python
- dfs
- sql lite
- django
- leetcode
- 프로그래머스
- 백준
- go
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함