codekata #2

신승호·2021년 4월 27일

codekata

목록 보기
2/15

codekata_0427


reverse 함수에 정수인 숫자를 인자로 받습니다.

그 숫자를 뒤집어서 return해주세요.

x: 숫자

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

예들 들어,

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

Need to know

  1. 이건 숫자를 받고 숫자를 뱉는다라는것을 기억한다. (정수 사용 !)
  2. for문굳이 갈 필요 없다.
  3. 반대로 출력하는 것.(0이 가장 앞에오는 숫자배열은 0이 없어진다)

정답

def reverse(number):
  if number >= 0: 		# 정수(0과 같거나 0보다 큰 숫자)를 찾자
    a = str(number)		# 거꾸로 하기위해 str형태로 바꿔주자 (숫자형으로는 안돼)
    b = a[::-1]			# 거꾸로 바꿨지 ? 
    return int(b)		# 문자열을 숫자형으로 바꿔준다/ **만약 str형태인 "0123"을 int로 바꾸었을 때 123으로 바뀐다(0은 없어진다) 
  else:				# 0보다 작은 숫자
    a1 = number*-1		# 일단 양수 만들어 주기 위해 -1을 곱해준다.(이걸안하고 str형태로 바꿔주면 1가 맨 마지막으로 오기때문 !)
    b1 = str(a1)		# 거꾸로 하기위해 str형태로 바꿔주자 (숫자형으로는 안돼)
    c1 = b1[::-1]		
    return int(c1)*-1		# 문자열을 숫자형으로 바꿔준다 그리고 -1을 곱해준다 ! 

참고

  • [::-1] : 문자열 or 리스트 사용 가능
  • 변수.reverse() : 리스트 사용 가능
  • for문이용한 리버스
    list = "1234"		# 문자열이지 
    rev = ''		# 먼저 빈 리버스 줘야해
    for i in list:
      rev = i + rev		# for문 돌린 i와 re 더해줘
      return rev		# 그럼 거꾸로 한거 나옴 ㅋㅎ
profile
신승홉니다

0개의 댓글