※※하기 답안은 제가 작성 한 것으로, 더 나은 답안이 있을 수 있는 점 참고 부탁드립니다※※
- 문제 URL
코딩테스트 연습 - 약수의 합 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제 설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
- 입출력 예
n | return |
12 | 28 |
5 | 6 |
- 문제 풀이
1. 입력값의 약수들을 담을 빈 배열을 선언합니다.
2. 약수들을 더해 줄 변수를 선언합니다.
3. 입력값의 약수를 구하고 빈 배열에 담습니다.
4. 배열에 담긴 수 들을 더합니다.
5. 합산 된 수를 출력합니다.
- 유의 사항
특이사항 없습니다.
- 작성 코드
for문과 arrow function을 활용하여 2가지 표현으로 구현해보았습니다.
1. for 문 활용
function solution(n) {
let arr = [];
let result = 0;
for (let i = 0; i <= n; i++) {
if (n % i === 0) {
arr.push(i);
}
}
for (let i = 0; i < arr.length; i++) {
sum = arr[i] + sum;
} // for문으로 배열을 순환하며 값을 누적
return result;
}
|
cs |
2. arrow function 활용
function solution(n) {
let arr = [];
let result = 0;
for (let i = 0; i <= n; i++) {
if (n % i === 0) {
arr.push(i);
}
}
arr.forEach((n) => {
result = result + n;
}); // arrow functionfor문으로 배열을 순환하며 값을 누적
return result;
}
|
cs |
- 결과
조건대로 결과값이 출력됩니다.
'웹개발자공부 > Coding test' 카테고리의 다른 글
프로그래머스 코딩테스트 문제풀이(Lv.1, 연습문제) - 자릿수 더하기 (0) | 2022.09.30 |
---|---|
프로그래머스 코딩테스트 문제풀이(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 |