문제
두 수(num1
, num2
)를 입력받아, num1
를 num2
로 나눈 나머지를 리턴해야 합니다.
입력
인자 1 : num 1
number
타입의 정수 (num1
>= 0)
인자 2 : num 2
number
타입의 정수 (num2
>= 0)
출력
number
타입을 리턴해야 합니다.
주의사항
- 나눗셈(/), 나머지(%) 연산자 사용은 금지됩니다.
- 0은 어떤 수로 나누어도 나머지가 0입니다.
- 어떤 수도 0으로 나눌 수 없습니다. 이 경우 'Error: cannot divide by zero'를 리턴해야 합니다.
입출력 예시
let output = modulo(25, 4);
console.log(output);
풀이
- num2 === 0일때 에러메세지를 리턴한다
- while 문을 돌려 num1에서 num2값을 계속 빼주고 남는 나머지 값을 리턴한다
if(num2 === 0) {
return "Error: cannot divide by zero";
}
while(num1 >= num2) {
num1 = num1 - num2;
}
return num1;
한 줄평
체크포인트
- while문과 for문의 차이점
for문은 정해진 횟수만큼 반복한다면, while문은 조건식이 true가 유지될 때까지 계속해서 반복한다. 조건식이 false가 되면 반복 행위를 멈추고 while문을 종료한다.
=> 위 문제의 경우 for문을 쓰게 되면 언제까지 돌려야할지 정하는 것이 애매하다. 이 문제야 말로 while문을 쓰기에 아주 적합하다