Code Kata_day2

do yeon kim·2022년 7월 5일
0

day2

방법1
# 방법1
def reverse(number):
    if number > 0:

        number = str(number)
        
        lst = [i for i in number]
        lst.reverse()
        
        lst = int("".join(lst))	
        return lst
    
    else:
        number = number * -1
        number = str(number)
        lst = [i for i in number]
        lst.reverse()
        lst = "".join(lst)

        lst = int(lst) * -1
        return lst



방법2
# 방법2
def reverse(number):
    if number > 0:
        number = str(number)
        lst = [i for i in number]
        result = []
        
        for i in range(len(lst)-1, -1, -1):
            result.append(number[i])
        result = int("".join(result))
        return result
            
    else:
        number = number * -1

        number = str(number)
        lst = [i for i in number]
        result = []
        
        for i in range(len(lst)-1, -1, -1):
            result.append(number[i])

        result = int("".join(result)) * -1
        return result





방법3
# 방법3
# 내장함수를 이용해서 구현

def reverse(number):
    
    def solve(numbers):
        number = abs(numbers) # 절대값으로 변환
        str_number = str(number) # 문자열로 변환
        result = [] 
        for index, i in enumerate(range(len(str_number)-1, -1, -1)): # 문자열을 뒤에서 부터 돌면서, 하나씩 꺼내온다.
            a = number // 10**i # 10의 제곱근으로 숫자를 나누어서 몫을 구한다.
            b = number % 10**i # 10의 제곱근으로 숫자를 나누어서 나머지를 구한다.
            result.append(a*(10**index)) # 몫에 10의 제곱근을 곱해준다.
            number = b # 나머지로 새로운 숫자를 만든다.
        
        result = sum(result) # 리스트에 들어온 숫자들의 합을 구한다.

        if numbers < 0: # 초기 number가 음수인지 확인
            return result * -1  # 초기가 음수였다면 다시 -1을 곱해준다.
            
        else:
            return result # 초기 number가 양수였다면 그대로 출력
    
    return solve(number)

a = reverse(-1234)
print(a)




방법4
# 방법4
def reverse(number):
  # 여기에 코드를 작성해주세요.
  if number > 0:
        num_str=str(number)
        text=''
        for i in range(len(num_str)):
            text = num_str[i] + text
        return int(text)
  else:
        number *= -1
        num_str=str(number)
        text=''
        for i in range(len(num_str)):
            text = num_str[i] + text
        return int(text)*(-1)

0개의 댓글