[codeup] 4041 : 숫자 다루기

1186 단어 pythoncodeupcodeup

문제

문제1) 숫자 다루기

자연수 35를 뒤집으면 53이 되고, 각 자리수를 합하면 8이 된다. 또, 1200을 뒤집으면 21이 되고, 각 자릿수를 합하면 3이 된다. 즉, 뒤집었을 때 불필요한 0은 무시된다.

자연수 N이 입력되면 그 수를 뒤집은 수와 각 자릿수의 합을 출력하는 프로그램을 작성하시오.

입력

자연수 N이 입력된다. (1≤N≤1,000,000)

입력 예시

22

출력

  1. 첫째 줄에 뒤집은 수를 출력한다.

  2. 둘째 줄에 각 자릿수의 합을 출력한다.

출력 예시

22
4

문제 풀이

문제 자체는 어렵지 않은데, "0"을 처리하기가 너무 곤란했다.
여러 푼 사람들 코드를 살펴봤는데 내가 푼 방법보다는 쉽게 푼 것 같다..
일단 내가 푼 방법은 이러하다.

1) 각 숫자를 str값으로 받고, list 형식으로 만들어주었다.
2) 숫자 조합을 리스트로써 각각 값을 넣어주고 , 역순으로 만들었다.
3) 맨 첫번째수가 0인 경우 삭제해준다.

# https://codeup.kr/problem.php?id=4041

number = input()
arr = []

def sum(number):
    total = 0
    for i in number:
        total += int(i)
    return total

def sort_array(number):
    arg = []
    for i in range(len(number)):
        arg.append(number[i])
    arg.reverse()
    arg = remove_Zero(arg)

    return arg

def remove_Zero(arg):
    while arg[0] == '0':
        del arg[0]
    return arg

        
# 반대로 출력
arr = sort_array(number)
print(''.join(arr))
print(sum(number))

좋은 웹페이지 즐겨찾기