본문 바로가기
코딩 테스트 Coding Test/프로그래머스 Programmers

[프로그래머스] LEVEL 1_자릿수 더하기 - 자바스크립트

by 이땡칠 2022. 3. 15.

 

문제 설명

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

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

입출력 예Nanswer
123 6
987 24
입출력 예 설명

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

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

 

 

문제 풀이 1

function solution(n) {
  var answer = 0;
  //숫자 문자로 변환
  var nStr = n.toString()
  //console.log(nStr)
  //문자를 배열로 변환
  var nStr_arr = nStr.split('')
  //배열의 요소를 숫자로 변환
  var nStr_arr_number = nStr_arr.map(str => Number(str))
  //console.log(nStr_arr_number)
  
  //answer 에 자리수 숫자를 더하는 reduce 문
  return nStr_arr_number.reduce((acc, cur) => acc + cur, 0);
}

 

문제 풀이 2

- 숫자를 문자로 변환하는 방법 : toString() / String() / Template String (템플릿 문자열) / 빈 문자열 이어붙이기

- 문자를 배열로 변환하는 방법 : split()

- 배열의 요소를 정수로 변환 : parseInt()

- 변수에 숫자를 더하는 방법 : +=(대입 연산자)

var n = 12345


function solution(n) {
  var answer = 0;
  //숫자 문자로 변환
  //문자를 배열로 변환
  //배열의 요소를 정수로 변환하면서 answer 에 더해주는 map 함수 돌려줌
  n.toString().split('').map(str => answer += parseInt(str))
  return answer;
}

console.log(solution(n))

댓글