두 가지가 생각났다
첫 번째는, 문자열로 바꿔서 역전개
두 번째는 몫과 나머지를 이용한 연산
def same_reverse(num):
# 아래 코드를 입력해주세요.
if num < 0 : return False
else :
str_num = str(num)
if str_num == str_num[::-1] :
return True
1. 숫자가 음수일 경우, 마이너스 부호가 뒤로 가서 항상 False가 됨
2. 받은 숫자를 문자열로 변환하여 변수 str_num에 저장
3. str_num은 인덱싱/슬라이싱이 가능하기 때문에 역전개
def same_reverse(num):
#음수일 경우, 마이너스 부호에 의해 항상 False
if num < 0 : return False
#1~9사이의 수는 항상 True
elif num >0 and num < 10 : return True
# 그 외 두자리수 이상의 정수부터 해당 코드 실행
else :
#반복문 돌리면서 넣어줄 값에 대한 변수
new_val = 0
#비교할 값
#num은 반복문에서 계속 작업해가며 숫자 자체를 줄여나갈것이기 때문에 원본 숫자가 훼손됨
#그래서 원본숫자를 저장할 변수로 final_val 설정
final_val = num
while num>0 :
#공식
new_val = new_val * 10 + num % 10
#숫자를 10으로 나눈 몫만 추출해서 계산할 것이기 때문에 // 사용
num = num // 10
#결과를 통해 얻은 new_val과 final_val을 비교하여 T/F 리턴
if new_val == final_val :
return True
else :
return False
오늘은 새벽까지 안해도 된다잇