티스토리 뷰
반응형
문제
문제 출처
programmers.co.kr/learn/courses/30/lessons/12928
문제 설명
정수 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입니다.
풀이
1. 제곱근까지 차례대로 n의 약수인지 확인한다.
2. 약수인 경우 몫과 함께 answer에 더한다. 이 수가 제곱근인 경우에는 나누는 값과 몫이 동일하므로 몫은 더하지 않는다.
class Solution {
public int solution(int n) {
int answer = 0;
int i = 1;
//n의 제곱근까지 반복
while (i <= Math.sqrt(n)) {
//약수인 경우
if (n % i == 0) {
answer += i;
//제곱근이 아닌 경우
if (i != n/i)
answer += n/i;
}
i++;
}
return answer;
}
}
반응형
'Develop > Algorithm' 카테고리의 다른 글
[프로그래머스/Java] 연습문제 - 시저 암호 (0) | 2021.01.20 |
---|---|
[프로그래머스/Java] 연습문제 - 문자열 내 p와 y의 개수 (0) | 2021.01.19 |
[프로그래머스/Java] 연습문제 - 짝수와 홀수 (0) | 2021.01.16 |
[프로그래머스/Java] 연습문제 - 문자열 내 마음대로 정렬하기 (0) | 2021.01.16 |
[프로그래머스/Java] 연습문제 - 같은 숫자는 싫어 (0) | 2021.01.15 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Naver AI Burning Day
- 자바
- hilt
- viewmodel
- error
- SCPC2021
- 백준
- livedata
- 변수
- architectural pattern
- 프로그래머스
- 아키텍처 패턴
- Android
- MutableLiveData
- Kotlin
- androidx.core
- 힙
- BAEKJOON ONLINE JUDGE
- gradle
- heap
- 우선순위큐
- 코틀린
- 안드로이드
- java
- 후기
- programmers
- 라이브 데이터
- 알고리즘
- Algorithm
- 뷰모델
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함