컴퓨터 과학 주제 둘러보기재귀 함수자릿수 합

Q

자릿수합 구하기

조회 988

좋아요 0

2017년 12월 21일

댓글 9

2017년 12월 21일
먼저... num을 문자열로 지정하셨는데 int(num + 1)에서 오류가 발생합니다! 그리고 재귀함수 자체가 어떻게 보면 그 메소드를 계속 반복해 나가면서 쪼개는 것이기 때문에 그 부분에 신경 쓰시면 금방 푸실 것 같습니다!
2017년 12월 21일
또, 문자열의 강점은 리스트와 같이 slicing이 가능하기 때문에 그 부분을 고려하시면 될 것 같습니다.
2017년 12월 21일
else문에서 첫번째슬라이싱은 맨마지막인 일의자리수 전까지 슬라이싱이고 두번째건 일의자리수를 의미하는거맞나요?
2017년 12월 21일
네 위에 말씀하신 대로 풀어도 무방할 것 같습니다.
2017년 12월 21일
예를 들어 704 일 경우(슬라이싱 중 하나의 값만 남는 쪽이 4일 경우)
2017년 12월 21일
4라는 값을 가지고 있고, 다시 그 함수를 호출하기 때문에 0이라는 값을 다시 더하게 됩니다. + 연산자에 의해서죠
2017년 12월 21일
그래서 결국 4라는 값 보관 - > + 0 - > + 7 해서 11이 출력됩니다
2017년 12월 21일
그렇다는건 4는 보관이 계속되있는 상태고 함수만 계속 호출되서 덧셈을 진행한다는건가요?
2017년 12월 21일
그리고 return sum_digits(int(len(num[:num - 1]))) + int(len(num[num - 1])) 이렇게 풀어봤는데 에러가 나버립니다..
A
1개의 답변이 있어요

(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇