1. 프로그래머스 - 자릿수 더하기
1) 문제
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
2) 제한사항
- N의 범위 : 100,000,000 이하의 자연수
3) 입출력 예
N | answer |
123 | 6 |
987 | 24 |
4) 내가 짠 코드
function solution(n)
{
var answer = 0;
var N;
String(N)=[''];
String(N).slice(0,1,2);
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
console.log('Hello Javascript')
return answer;
}
-> String 타이핑 있는 사이에 접근방향조차 잘못되었다는 생각이 듦.
5) 다른사람 코드
function solution(n) {
let answer = 0;
while(n){
answer += (n%10);
// 10으로 나눈 나머지는 각 자릿수 자연수가 됨.
n = Math.floor(n/10);
}
// Math.floor(): 소수점 이하 숫자 버림
// 123을 예로 들자. 일의 자리부터 하나하나 분리시킨다고 생각하면 쉬움.
// While 문 돌림. 맨 처음 값은 몫:12 나머지가 3임. 3 더해지고 12.3이니까 (Math.floor에 의해)3없어짐.
// 이후 몫: 1 나머지:2. 2 더해지고 1.2이니까 2 없어짐. (이대로 1까지 반복)
return answer;
}
[출처] [자바스크립트 알고리즘] 자릿수 더하기 (프로그래머스)|작성자 TSBrain
'코딩 > Javascript' 카테고리의 다른 글
Javascript Algorithm #12 - 하샤드 수 (0) | 2022.01.19 |
---|---|
Javascript Algorithm #11 - 정수 제곱근 판별 (0) | 2022.01.18 |
Javascript Algorithm #9 - 평균구하기 (0) | 2022.01.17 |
Javascript Algorithm #8 - 수박수박수박수? (0) | 2022.01.17 |
Javascript Algorithm #7 - 문자열 내 p와 y의 개수 (0) | 2022.01.17 |