본문 바로가기

코딩테스트 연습(with java)/프로그래머스

프로그래머스 연습문제<자릿수 더하기>

문제 : 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

 

 

내가 작성한 코드 

N의 범위가 100,000,000 이하의 자연수라 if 문을 여러개 써서 자릿수 별 숫자를 더하는 방법도 있었을텐데 그거는 가독성이 매우 떨어지는 방법 같아서 고민 끝에 while문을 선택하였다.

 

n을 10으로 먼저 나누고 나머지를 answer 값에 더하여 1의 자리 숫자 값을 answer에 넣어주었고, 그 뒤로 n을 10으로 나눈 몫을 n의 값으로 할당하여 10으로 나누고 나머지를 answer 값에 더하여 10의 자리 숫자 값을 answer에 더하고.

이런 구조를 계속 반복하여 결과적으로 각 자리 숫자가 모두 더해지도록 코드를 작성하였다.