[Code Kata] 4. same_reverse

그냥·2022년 6월 13일
0

CodeKata

목록 보기
3/18

문제

숫자인 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 이기 때문

풀이

  1. 문제의 조건 정리
1) 정수형 인자를 받는다.
2) Boolean형 데이터를 반환한다.
3) 음수를 뒤집으면 모두 모양이 바뀐다(False)
4) 일의 자리가 0이면 모양이 바뀐다(False)

  1. 조건에 대한 코드 구현 방법 생각
1) 정수형 인자를 뒤집을 수 없으므로 str형으로 바꿔준다.
2) slicing 중 리스트를 뒤집을 수 있는 방법인 [::-1]을 사용한다.

  1. 구현 코드
def same_reverse(num):
  
  if str(num) == str(num)[::-1]:
    return True

  else:
    return False

  1. 코드 리뷰
  • 문제의 조건이 많지 않아 str() 함수와 [::-1] 슬라이싱만으로 간단하게 풀 수 있었다.
  • 음수와 일의 자리가 0인 수는 [::-1]로 뒤집었을 때 원본과 모양이 무조건 달라지므로 간결하게 코드를 작성할 수 있었다.

0개의 댓글