그냥 단순하게 for문 1부터 해당 숫자까지 돌려서 더하면 된다고 생각했는데
for(int i = 1; i <= num/2; i++){
if(num%i == 0) {
answer += i;
}
}
return answer+num;
나누기 2하면 당연히 가장 작은 소수가 2니까 나누기 2한 몫까지만 돌리는고 리턴 값에 해당 숫자를 더하는 것이
더 효율적인거 타풀이 보고 알게되었다.
전에 풀었던 거 같은데.. 왜 또 감탄만 나오고 생각이 안났는진 모르겠지만..
'코테 공부 > java' 카테고리의 다른 글
배열 초기화 (0) | 2023.04.30 |
---|---|
나머지가 1이 되는 수 찾기 (0) | 2023.04.28 |
string, int 형변환 (0) | 2023.04.27 |
length, length(), size() (0) | 2023.04.27 |
String.toCharArray(), charArray to String (0) | 2023.04.17 |