[Codekata-Week1] Day 4

문성호·2020년 9월 5일

문제

  • 문제
    숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.

num: 숫자
return: true or false (뒤집은 모양이 num와 똑같은지 여부)

예를 들어,
num = 123
return false
=> 뒤집은 모양이 321 이기 때문
num = 1221
return true
=> 뒤집은 모양이 1221 이기 때문
num = -121
return false
=> 뒤집은 모양이 121- 이기 때문
num = 10
return false
=> 뒤집은 모양이 01 이기 때문

My Solution

def same_reverse(num):
  if num < 0:	# 숫자가 음수면 뒤집어도 무조건 False. 고려할 필요 없음.
    return False
  numStr = str(num) # 인자로 들어온 num을 String화 시킴.
  reverseStr = numStr[::-1] # 역순으로 배열.
  numArr = list(map(int, numStr)) # numStr을 int화 시킴.
  reverseArr = list(map(int, reverseStr)) # reverseStr을 int화 시킴
  return reverseArr == numArr # 둘 비교.
  • 뒤집을 숫자가 음수면 어차피 무조건 False이므로 고려할 필요 없음.
  • 숫자 num을 String화 시킨 다음, reverseStr로 역순으로 저장.
  • numStr과 reverseStr을 각각 int화 시켜 numArr와 reverseArr에 저장.
  • 둘을 비교해서 같으면 True, 틀리면 False
profile
오늘을 모아 내일을

0개의 댓글