일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 추상화 (abstraction)
- 클래스 문법 구조
- 얕은복사와 깊은 복사
- probs.children
- css 정리
- 참조자료형
- 첫번째 미니 프로잭트
- Math.floor()
- props비구조화 할당
- string
- 재귀적으로 생각하기
- async/await
- 문자열을 객체로 만드는법
- class
- 재귀함수 탬플릿
- 상속 (inheritance)
- display
- Promise all
- align-iitems
- Instanc
- 다형성 (polymorphism)
- justfiy-content
- 화살표함수 기본 개념
- flex-direction
- 캡슐화 (encapsulation)
- 조건문
- 객체지향 프로그래밍 특징
- align-content
- probs
- Promise Chaining
Archives
- Today
- Total
희락코딩
프로그래머스 1단계 - 약수의 합 본문
728x90
반응형
#문제
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
#제한 사항
n은 0 이상 3000이하인 정수입니다.
#입출력예시
n | return |
12 | 28 |
5 | 6 |
#입출력 예 설명
입출력 예 #1
12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.
입출력 예 #2
5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다.
# 문제 풀이 및 코드작성
약수는 자기 자신과 나눴을때 나머지 값이 0이 나오는 특징이 있다. 그래서 어떤 임의 수를 길이만큼 순회해서 자기 자신과 나눴을때 0이 나오는 조건을 세웠고 조건에 부합하면 다 더해주도록 하였습니다.
만약에 8을 넣었을 경우
8 % 1 === 0 통과 1
8 % 2 === 0 통과 2
8 % 3 === 0 통x
8 % 4 === 0 통과 4
8 % 5 === 0 땡x
8 % 6 === 0 땡x
8 % 7 === 0 땡x
8 % 8 === 0 통과 8
그래서 8의 약수의 합은 15가 나옵니다
1
2
3
4
5
6
7
8
9
|
function solution(n) {
var answer = 0;
for(let i = 1; i <= n; i++){
if(n%i===0){
answer = answer + i
}
}
return answer;
}
|
cs |
728x90
반응형
'프로그래밍 > 코드 문제 풀이' 카테고리의 다른 글
프로그래머스 1단계 - 같은 숫자는 싫어 (0) | 2021.06.26 |
---|---|
프로그래머스 1단계 - 두 정수 사이의 합 (0) | 2021.06.25 |
프로그래머스 1단계 - 행렬의 덧셈 (0) | 2021.06.23 |
프로그래머스 1단계 - 직사각형 별찍기 (0) | 2021.06.22 |
프로그래머스 1단계 - 콜라츠 추측 (0) | 2021.06.21 |
Comments