내일배움캠프: Node.js_4기
14일차 TIL
~오늘의 수강 과목~
1. 특강: 알고리즘 풀이 (강창민 튜터님)
function solution(...n)
{
let sum = 0;
for (let i = 0; i <= n.length; i++) {
sum += n[i];
}
return sum;
}
처음 짠 코드
자릿수의 합을 구하려면 스프레드 오퍼레이터를 쓰면 되겠다고 단순하게 생각했다.
코드 실행 결과는 실패
function solution(n)
{
let sum = 0;
const arrStr = n.toString();
const arrSpread = [...arrStr];
for (let i = 0; i < arrSpread.length; i++) {
sum += arrSpread[i];
}
return sum;
}
두번째 코드
자릿수를 더하려면 먼저 문자열화가 되어야한다는 힌트를 얻어 다시 작성했다.
값을 문자열로 바꿔주는 메서드인 toString() 사용하기
그러나 문제가 있었다! 이렇게 작성하면 처음의 입력값으로 다시 돌아온 셈이 된다.
function solution(n)
{
let sum = 0;
const arrStr = n.toString();
const arrSpread = [...arrStr];
for (let i = 0; i < arrSpread.length; i++) {
sum += Number(arrSpread[i]);
}
return sum;
}
세번째 코드
문자열화 해준 값을 다시 정수로 돌려줘야 한다는 것을 잊고 있었다.
Number()를 사용해서 문자열을 다시 숫자로 변환해주었다.
~테스트 통과~
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr