티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/12928
코딩테스트 연습 - 약수의 합
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수
programmers.co.kr
[문제 풀이]
1. 약수는 항상 쌍으로 존재한다.
2. 약수 중 가장 큰 수는 제곱근이므로 제곱근까지 약수를 구한 후, 나머지 쌍을 구한다.
3. 구한 쌍의 합을 구한다.
[소스 코드]
public class SumOfDivisor {
public static void main(String[] args) {
int n = 5;
System.out.println(solution(n));
}
private static int solution(int n) {
boolean[] check = new boolean[n + 1];
int answer = 0;
for (int i = 1; i * i <= n; i++) {
if (n % i == 0) {
check[i] = true;
check[n / i] = true;
}
}
for (int i = 1; i <= n; i++) {
if (check[i]) {
answer += i;
}
}
return answer;
}
}
'알고리즘 문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 자릿수 더하기 (lv.1) (0) | 2020.07.22 |
---|---|
[프로그래머스] 이상한 문자 만들기 (lv.1) (0) | 2020.07.22 |
[프로그래머스] 시저 암호 (lv.1) (0) | 2020.07.21 |
[프로그래머스] 수박수박수박수박수박수? (0) | 2020.07.20 |
[프로그래머스] 소수 찾기 (lv.1) (0) | 2020.07.20 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- binary search
- 열혈강의
- 자료구조
- 알고리즘
- 깃
- DP
- 저장소
- Summer/Winter Coding(~2018)
- 2019 카카오 개발자 겨울 인턴십
- 단계별로 문제풀이
- OS
- Algorithm
- 백준
- 이것이 코딩테스트다
- Algorihtm
- 정렬
- 그래프
- 구현
- dfs
- Python
- bfs
- 코틀린
- Idempotent
- programmers
- 2020 카카오 인턴십
- spring boot 2.3.1
- 그리디
- BOJ
- repository
- git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함