※※하기 답안은 제가 작성 한 것으로, 더 나은 답안이 있을 수 있는 점 참고 부탁드립니다※※
- 문제 URL
코딩테스트 연습 - 자릿수 더하기 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
- 입출력 예
N | answer |
123 | 6 |
987 | 24 |
- 문제 풀이
두 가지 방법으로 해당 문제에 접근하였습니다.
1. 숫자·문자변환을 통한 방법
2. Math.trunc()와 나머지연산을 통한 방법
입니다.
- 유의 사항
특이사항 없습니다.
- 작성 코드
1.
function solution(n) {
let sum = 0;
// 자릿수를 담을 변수 선언
let s = String(n);
//받은 숫자를 문자열로 변환
for (let i = 0; i < s.length; i++) {
sum = sum + Number(s[i]);
//문자열의 각 자릿수를 다시 숫자로 변환하여 누적
}
return sum;
//누적 값 출력
}
|
cs |
2.
function solution(n) {
let sum = 0;
// 자릿수를 담을 변수 선언
while (n > 0) {
//while 문을 통해 반복
sum += n % 10;
//입력받은 숫자를 10으로 나눴을 때의 나머지를 sum에 누적
n = Math.trunc(n / 10);
/*Math.trunc()을 통해 입력받은 숫자의 정수부분만을 반환,
10으로 나눠줌으로써 자릿수가 하나씩 줄어듦*/
}
return sum;
//누적 값 출력
}
|
cs |
- 결과
조건대로 결과값이 출력됩니다.
'웹개발자공부 > Coding test' 카테고리의 다른 글
프로그래머스 코딩테스트 문제풀이(Lv.1, 연습문제) - 문자열 내 p와 y의 개수 (0) | 2022.09.27 |
---|---|
프로그래머스 코딩테스트 문제풀이(Lv.1, 연습문제) - 약수의 합 (0) | 2022.09.25 |
프로그래머스 코딩테스트 문제풀이(Lv.1, 연습문제) - 콜라츠 추측 (0) | 2022.09.25 |
프로그래머스 코딩테스트 문제풀이(Lv.1, 연습문제) - 서울에서 김서방 찾기 (0) | 2022.09.25 |
프로그래머스 코딩테스트 문제풀이(Lv.1, 연습문제) - 수박수박수박수박수박수? (0) | 2022.09.25 |