반응형
내가 푼 정답
# 자리수 합 리턴
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)
반응형
'● 알고리즘, 자료구조 > 2021 알고리즘' 카테고리의 다른 글
주민번호 가리기 | 함수, 리스트, 문자열 (31) | 2021.05.31 |
---|---|
피타고라스 | for 반복문 (0) | 2021.05.31 |
투표 집계하기 : 사전, 리스트 (0) | 2021.05.31 |
배열과 리스트의 차이 (0) | 2021.05.29 |
리스트 함수를 활용하여 차례대로 수정하기 (0) | 2021.05.28 |