강의로 돌아가기
니끼다가가라

약수의 합 , 실행하면 에러가 뜨네요~ 같이 좀 찾아주세요~!

class Solution {
  public int solution(int n) {
      int answer = 0;
      for(int i = 0; i<=n; i++){
          if(n%i == 0 && n <= 3000){
              answer += i;
          }
      }

      return answer;
  }
}

========================== 실행 결과 =================================

테스트 1
입력값 〉 12
기댓값 〉 28
실행 결과 〉 코드 실행 중 오류가 발생하였습니다. 코드를 확인하세요.
java.lang.ArithmeticException: / by zero
테스트 2
입력값 〉 5
기댓값 〉 6
실행 결과 〉 코드 실행 중 오류가 발생하였습니다. 코드를 확인하세요.
java.lang.ArithmeticException: / by zero

1 개의 답변
Demi

오류메세지를 보면 어디가 문제인지 알 수 있습니다.
java.lang.ArithmeticException: / by zero 를 잘 보세요. 0으로 나눠서 에러가 발생했다고 적혀있습니다.
n%i == 0 에서 i가 0으로 시작해 문제가 생기네요. i가 1부터 시작하게 코드를 바꿔보세요.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.