※※하기 답안은 제가 작성 한 것으로, 더 나은 답안이 있을 수 있는 점 참고 부탁드립니다※※

 

- 문제 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

 

 

- 결과

 

조건대로 결과값이 출력됩니다.

+ Recent posts