Code Kata(Python) day 2
문제
reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.
x: 숫자
return: 뒤집어진 숫자를 반환!
EX)
x: 1234
return: 4321
x: 1234
return: 4321
x: -1234
return: -4321
x: -1234
return: -4321
x: 1230
return: 321
> 내 답안
def reverse(number):
str_number = str(number)
if "-" in str_number:
return int("-" + str_number[::-1][:-1])
return int(str_number[::-1])
reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.
x: 숫자
return: 뒤집어진 숫자를 반환!
EX)
x: 1234
return: 4321
x: 1234
return: 4321
x: -1234
return: -4321
x: -1234
return: -4321
x: 1230
return: 321
def reverse(number):
str_number = str(number)
if "-" in str_number:
return int("-" + str_number[::-1][:-1])
return int(str_number[::-1])
우선 파이썬 배열 [::-1] 을 사용하기 위하여 숫자를 스트링으로 만들었고
if를 사용하여 음수인 경우, 양수인 경우를 나누어 생각하였다.
우선
- 음수
음수인 경우 리턴 값에 -를 따로 붙여 주었는데 [::-1] 을 음수에게 사용하게 되면 마이너스 기호가 맨 마지막에 나오기 때문이다.
ex)
-123 > 321-
그래서 이후에 [:-1] 로 슬라이싱 하여 - 기호를 제거하면서 뒤집어진 숫자만 나오게 하였다.
(1230처럼 0이 맨 마지막 숫자는 0321로 바뀌지 않고 321로 바뀜.)
WHY ? >>>>>>>>>>> 상식적으로 0321라는 숫자값은 없다. 321로 표현함
- 양수
양수인 경우 쉽게 문자열로 바꾼후 [::-1] 배열을 이용해 리턴
> 모범 답안
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)
내 답안이 모범 답안과 거의 비슷한거 같아 뿌듯하다ㅎㅎㅎㅎ
사실 코드카타 파트너인 승재님이 거의 푸셨지만,,,
코드카타로 파트너와 함께 문제를 풀다 보니 파트너에게 배울 점도 많고
모두가 다 다른 방식으로 접근 하는 것도 흥미롭다.
아직은 논리적으로 사고하는 것이 힘들지만
앞으로 열심히 노력해야겠다.
Author And Source
이 문제에 관하여(Code Kata(Python) day 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dltngks54/Code-KataPython-day-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)