문제 :
두 수(num1, num2)를 입력받아, num1를 num2로 나눈 나머지를 리턴해야 합니다.
입력 :
인자 1 : num1
- number 타입의 정수 (num1 >= 0)
인자 2 : num2
- number 타입의 정수 (num2 >= 0)
출력 :
- number 타입을 리턴해야 합니다.
주의사항 :
- 나눗셈(/), 나머지(%) 연산자 사용은 금지됩니다.
- 0은 어떤 수로 나누어도 나머지가 0입니다.
- 어떤 수도 0으로 나눌 수 없습니다. 이 경우 'Error: cannot divide by zero'를 리턴해야 합니다.
입출력 예시 :
풀이 :
나만의 해설:
if (num2 === 0) { return 'Error: cannot divide by zero' }
if (num1 === 0) { return 0 };
먼저 위의 2줄을 통해 주의 사항인
나누는 수가 0일때 'Error: cannot divide by zero가 출력되게 하였고,
0을 나누면 0이기때문에 0을 리턴하게 해주었다.
그다음, 나누기의 동작을 살펴보면
어떤 수(num1)가 주어졌을때
그 수를 나누는수(num2)를
num1이 num2보다 작아질 때까지
계속 빼다가 num1이 num2보다 작아질 때
남는 수를 나머지라고 부른다.
따라서 while문을 통해 num1이 num2보다 크거나작을 때는
num1 = num1-num2를 계속반복하여
계속 빼주었고, num1이 num2보다 작아지는 순간
남은 num1을 리턴하여 나머지를 구하였다.