[JS]_daily coding #16

seul·2022년 6월 15일
0

Algorithm

목록 보기
15/31

코플릿 데일리 코딩 15_modulo


수도코드

  1. num1, num2를 입력받아서 나머지를 반환(나머지 연산자 사용 금지)
  2. 예외조건
    2-1. num1이 0일때는 (어떤 수를 나눠도 나머지는 0) return 0 -> num1을 그냥 그대로 리턴해주면 된다.
    2-2. num2 0일때(어떤 수도 0으로 나눌 수 없음) '에러 메시지'리턴
  3. 나머지는 빼기를 반복해서 구현
    3-1. 반복해서 num1 = num1 - num2를 해주고
    3-2. num1이 num2보다 작으면 반복문을 빠져나와서 (while 조건문)
  4. num1을 반환

코드

num2가 0일 경우만 따로 조건문을 지정해서 예외 처리를 해줬다. while 반복문을 순회하면서 빼기를 반복하다가 num1이 num2보다 작아져서 더이상 반복을 수행할 수 없게되면 그 값을 나머지라고 볼 수 있다.

function modulo(num1, num2) {
  if(num2 === 0) {
    return 'Error: cannot divide by zero'
  }
  while (num1 >= num2) {
    num1 = num1 - num2;
  }
  return num1 // 나머지 
}
profile
Connecting dots

0개의 댓글