Ming's develop story

알고리즘 - 자릿수 더하기 (21.11.12) 본문

스파르타코딩클럽 - 항해99/항해99 Chapter2 - 알고리즘 기초

알고리즘 - 자릿수 더하기 (21.11.12)

Ming 2021. 11. 12. 21:33
  • 자릿수 더하기
문제 설명

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

제한사항
  • N의 범위 : 100,000,000 이하의 자연수

 

입출력 예
  N                                                                                  answer
123 6
987 24
입출력 예 설명

입출력 예 #1
문제의 예시와 같습니다.

입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

 

내 풀이

일단 자연수 n을 toString()을 통해 문자열로 변환한 후에 for문을 통해 각각의 요소에 접근하여 prsenInt를 통해 다시 숫자로 변환하며 각각의 값을 answer에 더해줬다.

 

문자열로 변환해줄때 

let nStr = n.toString() 말고도 

let nStr = n + '' 이런식으로도 변환이 가능하다. 

 

 

 

다른 사람의 풀이

 

나도 처음엔 숫자로 풀어보고 있었는데 하다가 실패했었는데 다른 사람의 풀이를 보니 어떤 부분에서 문제였는지를 알 수 있었다.

여기서 나는 나머지를 더해주기만 했었었는데 나머지를 더해주고 

n = Math.floor(n/10) 을 통해 n을 10으로 나눴을때의 소수점을 버려주는 역활을 하여 백의자리, 천의자리에 있던 숫자들이 계속 반복될 수 있도록 하였다.

그리고  여기선 do while문을 사용하였다.

 

do while문

do {

  조건식이 참일 경우 반복적으로 실행 할 실행문

} while (조건식)

Comments