Knowledge Map

각 자릿수 합 본문

알고리즘

각 자릿수 합

2017. 9. 1. 15:49

각 자릿수 합을 구하는 것은 어렵지 않으나, 각 자릿수의 합을 10보다 작을때까지 더하는 문제는 재귀호출을 통해서 보통 푼다.


1
2
3
4
5
6
7
8
9
10
11
// 내가 푼 방식
function digital_root(n) {
  var value = 0;
  while(n !== 0) value += n % 10, n = parseInt(n / 10);
  return value < 10 ? value : digital_root(value);
}
 
// 더 좋은 방식!!
function best(n) {
  return (n-1) % 9 + 1;
}
cs


더 좋은 방식의 설명은 http://www.sjsu.edu/faculty/watkins/Digitsum00.htm 여기 있다.

'알고리즘' 카테고리의 다른 글

HackerRank - Between Two Sets  (0) 2017.10.22
달팽이  (0) 2017.09.24
2차원 배열의 체크 알고리즘 문제  (0) 2017.09.13
테스트 문제 (1)  (2) 2017.09.06
정렬이란?  (0) 2016.09.21
Comments