728x90
https://www.acmicpc.net/problem/1259
알고리즘 분류 : 구현, 문자열
1 : reversed()와 join함수를 이용한 풀이
while True:
N = input()
if N == '0':
break
if N == ''.join(reversed(N)):
print('yes')
else:
print('no')
reversed()함수
문자열을 반대로 돌린값을 반환한다.
join함수
'구분자'.join(리스트)
인자로 넘겨주는 리스트의 요소들을 구분자로 구분하여 하나의 문자열로 합쳐준다.
각 문자열끼리의 덧셈을 하되 구분자로 구분시켜주는 것과 같다.
예를들어 N에 123을 입력 받았을 경우, 위 코드에서는 join함수에서 구분자에 아무 값도 주지 않았으므로 거꾸로 뒤집은 값 321을 반환한다.
' '.join(reversed(N)) 처럼 구분자에 공백을 넣었다면 3 2 1이 반환되었을 것이다.
2 : 슬라이싱을 이용한 풀이
while True:
N = input()
if N == '0':
break
if N == N[::-1]:
print('yes')
else:
print('no')
[::-1]은 해당 리스트나 문자열을 거꾸로 뒤집는다.
728x90
'알고리즘 문제 풀이' 카테고리의 다른 글
[python] 백준 : 2869 달팽이는 올라가고 싶다 (0) | 2022.02.05 |
---|---|
[python] 백준 2839 : 설탕 배달 (0) | 2022.02.05 |
[python] 백준 2798 : 블랙잭 (0) | 2022.02.04 |
[python] 백준 2775 : 부녀회장이 될테야 (0) | 2022.02.04 |
[python] 백준 2292 : 벌집 (0) | 2022.02.02 |