숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.
요구사항 : 뒤집은 '모양'이 num과 같은지 여부
내가 이해한 본질 : 문자의 index 성질을 이용해라.
인풋 : 숫자
아웃풋 : boolean타입의 값.
사실 문제를 보자마자 인덱스 슬라이싱이 떠올랐다. 문자열을 거꾸로 뒤집어주는 기능이 너무 편했다. 그러나 편한만큼 더 생각이 확장되는걸 막는 것 같다.
def same_reverse(num):
return str(num)[::-1] == num
슬라이싱 외의 방법이 없는지 생각했고, 반복문을 써보기로 했다.
def same_reverse(num):
str_num = str(num)
for i in range(str(num)) // 2:
if str_num[i] != str_num[len(str_num) -i -1]
return False
return True
동명(선생)님이 생각하신 방법.
def same_reverse(num):
if num < or num % 10 == 0:
return False
front = num
back = 0
while front > back:
front, mod = divmod(front, 10)
back = back * 10 + mod
if front == back or back // 10 == front:
return True
return False