본문 바로가기
● 알고리즘, 자료구조/2021 알고리즘

자릿수 합 구하기 | 함수, 반복문, 리스트와 스트링 타입의 특징 활용

by 0ver-grow 2021. 5. 31.
반응형

내가 푼 정답

# 자리수 합 리턴
def sum_digit(num):
    int_num = 0
    str_num = str(num)  # 문자열로 변환
    
    for i in range(len(str_num)) :  # 길이 만큼 반복
        int_num += int(str_num[i])
        
    return int_num


# sum_digit(1)부터 sum_digit(1000)까지의 합 구하기
num = 1
sum_num = 0
while num <= 1000 :
    sum_num += sum_digit(num)
    num += 1
print(sum_num)
# 코드를 입력하세요.

모범 답안

- 나는 while을 썼으나 for을 쓰는게 더 깔끔하다.

# 자리수 합 리턴
def sum_digit(num):
    total = 0
    str_num = str(num)
    
    for digit in str_num:
        total += int(digit)

    return total


# sum_digit(1)부터 sum_digit(1000)까지의 합 구하기
digit_total = 0
for i in range(1, 1001):
    digit_total += sum_digit(i)

print(digit_total)
반응형