[CodeKata] def reverse(number):

2408 단어 codekatapythonTILTIL

문제

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

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

예를 들어,

x: 1234
return: 4321
x: -1234
return: -4321
x: 1230
return: 321

풀이

def reverse(number):
    result = str(number)[::-1]
    if number < 0:
	result = "-"+result[:-1]
    return int(result)

python에서 input값을 뒤집는 방법은 세 가지가 있다

1. slicing
: str, list, tuple
2. reverse
: list
3. reversed
: str, list, tuple

slicing은 input()[::-1]
reverse는 input().reverse()
reversed는 reversed(input())

이 중 reversed 함수는 input값과 같은 데이터자료형으로 반환해주려면 추가작업을 해야한다

List list(reversd(List))
Tuple tuple(reversd(Tuple))
String ''.join(reversed(String))

해당 풀이에서는 int를 str로 변경하여 slicing을 사용했다

양수일 땐 뒤집은 값 그대로 사용, 음수일 땐 앞에 '-'를 추가한 후 문자열의 마지막에 있는 '-'를 삭제해주었다
return 시에는 str로 바꾸었던 값을 다시 int로 바꾸어주면 된다

좋은 웹페이지 즐겨찾기