링크
https://school.programmers.co.kr/learn/courses/30/lessons/12928
1. 풀이
- 1부터 증가하는 for문을 작성하고, % 로 계산했을때 0 이 나오면 된다.
- (추가수정) 약수를 구하는 것이기때문에 나누기 2 부터 하면 굳이 변수의값만큼 for문을 돌리지않아도된다.
2. 코드
class Solution {
public int solution(int n) {
int answer = 0;
for(int i=1; i<=n; i++){
if(n%i == 0){
answer += i;
}
}
return answer;
}
}
3. 다른사람코드(프로그래머스 좋아요 많이받음)
// 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
// 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
class SumDivisor {
public int sumDivisor(int num) {
int answer = 0;
for(int i =1 ; i<=num/2;i++){
if(num%i==0){
answer+=i;}}
return answer+num;
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args) {
SumDivisor c = new SumDivisor();
System.out.println(c.sumDivisor(12));
}
}
'프로그래머스 코테 > 프로그래머스 Lv. 1' 카테고리의 다른 글
[프로그래머스 : Java] 평균 구하기 (2) | 2023.05.22 |
---|---|
[프로그래머스 : Java] 짝수와 홀수 (0) | 2023.05.22 |
[프로그래머스 : Java] 가장 가까운 같은 글자 (0) | 2023.05.19 |
[프로그래머스 : Java] 추억 점수 (0) | 2023.05.18 |
[프로그래머스 : Java] 크기가 작은 부분 문자열 (0) | 2023.05.15 |