[Python] Code Kata Day2

rang-dev·2020년 6월 9일
0

Wecode - Code Kata

목록 보기
2/18

문제

reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.

x: 숫자
return: 뒤집어진 숫자를 반환!

예시

x: 1234
return: 4321

x: -1234
return: -4321

x: 1230
return: 321

내코드

def reverse(x):
  new_num = str(x)
  new_str = str()
  
  if new_num[0]=='-':
    new_str += '-'
    new_num = new_num[1:]
  
  for i in range(len(new_num)-1, -1, -1):
    new_str += new_num[i]
    
  result = int(new_str)
  
  return result

indexing과 slicing이 가능한 str의 특성을 이용했다. 마지막에는 뒤집었을때 앞에 0이 오는 경우들을 처리해주기위해 다시 int로 바꾸어주었다.

Model Solution

def reverse(number):
	string = str(number)
	if string[0] == '-':
		string = string[::-1]
		new_string = string[-1]+string[:-1]
		return int(new_string)
	string = string[::-1]
	return int(string) 

나는 for문을 거꾸로 돌았는데 여기서는 그냥 바로 slicing으로 한번에 거꾸로 뒤집어버렸다..!
str[::-1] 기억해두어야지.

또한 string[:-1]이 끝자리까지 slicing이 되는 줄 알았는데 맨 마지막에 지정해준 index는 범위에 포함되지 않으므로 끝의 앞자리까지 slicing을 하라는 의미였다.

profile
지금 있는 곳에서, 내가 가진 것으로, 할 수 있는 일을 하기 🐢

0개의 댓글