728x90
반응형
자릿수 더하기
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한 조건
🎉N의 범위 : 100,000,000 이하의 자연수
입출력 예시
N | answer |
---|---|
123 | 6 |
987 | 24 |
🎉내가 한 풀이
검색을 해보니 parseInt()라는 문자열을 정수로 변환시켜주는 방법이 있어서 사용해 보았다...!
const n = 123;
function solution(n)
{
let answer = n.toString().split('').map(el => parseInt(el));
return answer.reduce((p, c) => p + c);
}
🎉다른 풀이
n+" "가 무엇인지 몰랐는데 어떤 친절한 분이 설명을 해놓으셨다...
자바스크립트에서 덧셈 연산자 +를 사용할 때, 피연산자 중 어느 하나가
문자열이면 문자열이 아닌 다른 피연산자도 문자열로 타입이 변환되어
문자열을 합친 값이 반환된다. 위의 예시에서 n+""은 숫자 + 문자열의
형태이기 때문에 결과적으로 문자열 n을 반환. 참고로 ""은 빈문자열이기
때문에 연결해도 반환값에 영향을 주지 않는다. 그저 다른 피연산자를
문자열로 형변환하는 역할. 따라서 String(n)과 동일하게 사용 가능.
라는 설명이 있었다...!
function solution(n){
// 쉬운방법
return (n+"").split("").reduce((acc, curr) => acc + parseInt(curr), 0)
}
'알고리즘 공부' 카테고리의 다른 글
프로그래머스 1단계 - x만큼 간격이 있는 n개의 숫자 (2) | 2022.11.07 |
---|---|
프로그래머스 1단계 - 하샤드 수 (1) | 2022.11.03 |
프로그래머스 1단계 - 같은 숫자는 싫어 (1) | 2022.11.01 |
프로그래머스 1단계 - 이상한 문자 만들기 (1) | 2022.10.31 |
프로그래머스 1단계 - 핸드폰 번호 가리기 (1) | 2022.10.31 |
댓글