자릿수 구하기(javascipt)

이동엽·2022년 10월 25일
0

algorism

목록 보기
1/1

📕문제

자연수 N이 주어지면 각 자릿수를 더하고 반환하라.

📚풀이

function solution(n)
{
    var answer = 0;
    var num = String(n);
    for(var i = 0; i< num.length; i++){
        answer += Number(num[i]);
    }
   
    return answer;
}
  • 각 자리의 수를 꺼내기 위해 n의 type을 String()으로 바꾸어준다.
  • answer에 Number(),parseInt()로 숫자로 바꾸어 다 더한다.
function solution(n){
    return (n+"").split("").reduce((acc, curr) => acc + parseInt(curr), 0)
}

(n+"")

  • 자바스크립트에선 + 연산자 쓸때 피연산자중 하나가 문자열이라면 문자열이 아닌 피연산자도 문자열로 타입이 변환되서 문자열이 합친 값이된다.
  • n+""은 숫자 + 문자열 형태이기에 문자열로 변환된다. 그리고 ""은 빈문자열이기때문에 영향이 없다.
  • Stirng(n)으로 대체 가능합니다.

나머지

  • split() 이용해 각 자리수를 쪼갠다. 예를들어 985를[9,6,5]로 쪼갠다.
  • reduce를 이용해 각 자릿수합을 구한다. 여기서 cur은 문자열이기 때문에 parseInt(cur)를 한다.
  • 0은 index

🔍참고

https://tocomo.tistory.com/26

📝배운점

  1. 자바스크립트는 함수를 정의 할때에 매개변수의 타입을 따로 명시 안하기 때문에 매개변수로 왔을때 그 값 타입 그대로 넘어온다.
  2. 자바 스크립트는 데이터 타입을 정의 하지 않기 때문에, 오류가 잘 발생 할수도 있다.
profile
씨앗

0개의 댓글