slowbooktech   2년 전

안녕하세요, 주어진 숫자의 자리수를 구분할 때 재귀함수를 쓸 수 있는지 궁금하여 질문하게 되었습니다.

가령, 123이 주어지면 첫째자리의 1, 둘째자리의 2, 셋째자리의 3을 각기 다른 수로 보기 위해서 저는 변수를 일일이 설정했지만 재귀함수를 통해 반복되는 /10이나 %10을 이용하면 변수 선언이 없어도 될 것 같다는 생각이 들었습니다.

지금의 제 코드는 입력값이 1234처럼 네 자리 이상인 경우를 다루지 못합니다. (이게 문제에서 주어진 범위 내여서 정답처리가 된 것 같습니다.) 변수가 first, second, third로만 설정되어있는데 이를 수정하여 재귀를 통해 자릿수 구분 (1234가 천이백삼십사가 아니고 일이삼사처럼 여겨지도록) 할 수는 없을까요?

읽어주셔서 감사합니다.

jojls1004   2년 전

반복문과 함수만 이용했는데 재귀함수를 이용한 알고리즘이 있었군요! 좋은 알고리즘 알아갑니다

slowbooktech   2년 전

오! 



세자리수까지만 다룰 수 있던 제 코드를 for문 사용으로 해결하셨네요! 저는 반복문에서 i++ 이외의 조건을 써본적이 없는데, num/=10이 들어갈 수 있다는 것을 배웠습니다.

답변 정말 감사드립니다. 좋은 하루 되세요^^

댓글을 작성하려면 로그인해야 합니다.