300x250
문제
어떤 단어를 뒤에서부터 읽어도 똑같다면 그 단어를 팰린드롬이라고 한다. 'radar', 'sees'는 팰린드롬이다.
수도 팰린드롬으로 취급할 수 있다. 수의 숫자들을 뒤에서부터 읽어도 같다면 그 수는 팰린드롬수다. 121, 12421 등은 팰린드롬수다. 123, 1231은 뒤에서부터 읽으면 다르므로 팰린드롬수가 아니다. 또한 10도 팰린드롬수가 아닌데, 앞에 무의미한 0이 올 수 있다면 010이 되어 팰린드롬수로 취급할 수도 있지만, 특별히 이번 문제에서는 무의미한 0이 앞에 올 수 없다고 하자.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.
출력
각 줄마다 주어진 수가 팰린드롬수면 'yes', 아니면 'no'를 출력한다.
최종 답:
while True:
p = input()
if p=='0':
break
if p == p[::-1]: #문자열 뒤집기
print('yes')
else:
print('no')
문제풀이
if p == p[::-1]: #문자열 뒤집기
print('yes')
else:
print('no')
- str [start index: end index: striding number]: striding slicing은 문자열의 일부를 가지고 올 수 있는 기능이다.
예시)
my_str = "Hello World"
print(my_str[::3])
#출력
HIWI
위와 같은 코드의 경우 Hello World의 0, 3, 6, 9번째 문자가 출력된다.
다시 문제의 코드로 돌아가서, p[::-1]은 문자열을 거꾸로 출력해준다. 문제에서 뒤집어서 읽어도 숫자가 같다면 펠린드롬수라고 했으므로, 이 경우 'yes'를 출력해 주고, 같지 않은 경우 'no'를 출력한다.
*자세한 코드는 깃허브에 올려두었습니다.
https://github.com/Ronnie-hh/Baekjoon/blob/main/1259_answer.ipynb
300x250
'프로그래밍 > 백준 문제풀이' 카테고리의 다른 글
1920. 수 찾기 (파이썬) | 이분탐색 | 정렬 (0) | 2023.05.03 |
---|---|
1654. 랜선 자르기 (파이썬) | 이분 탐색 | 매개변수 탐색 (0) | 2023.04.29 |
1181. 단어 정렬 (파이썬) (0) | 2023.02.09 |
1085. 직사각형에서 탈출 (파이썬) (0) | 2023.02.07 |
1018. 체스판 다시 칠하기 (파이썬) (0) | 2023.01.16 |