๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“‚ Base/์•Œ๊ณ ๋ฆฌ์ฆ˜

num1์„ num2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋ฆฌํ„ดํ•˜๊ธฐ

by Dev. Ella 2023. 4. 4.

๐Ÿ“œ ๋ฌธ์ œ

๋‘ ์ˆ˜(num1, num2)๋ฅผ ์ž…๋ ฅ๋ฐ›์•„, num1์„ num2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ

- ๋‚˜๋ˆ—์…ˆ(/), ๋‚˜๋จธ์ง€(%) ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ์€ ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค.
- 0์€ ์–ด๋–ค ์ˆ˜๋กœ ๋‚˜๋ˆ„์–ด๋„ ๋‚˜๋จธ์ง€๊ฐ€ 0์ž…๋‹ˆ๋‹ค.
- ์–ด๋–ค ์ˆ˜๋„ 0์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ 'Error: cannot divide by zero'๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

โœ๐Ÿป ๋‚ด ํ’€์ด: for๋ฌธ ์‚ฌ์šฉ

function modulo(num1, num2) {

  let result = 0;

  // ๋งŒ์•ฝ num2๊ฐ€ 0์ด๋ฉด
  if (num2 === 0) {
    // 'Error~'๋ฅผ ๋ฆฌํ„ด
    return 'Error: cannot divide by zero'
  }
  // num2 * i = num1
  for (let i = 0; i < num1; i++) {
    // num2๊ณผ i๋ฅผ ๊ณฑํ•œ ๊ฐ’์ด num1๋ณด๋‹ค ์ž‘์„ ๋•Œ๊นŒ์ง€๋งŒ ๋ฐ˜๋ณต
    if(num1 > num2 * i) {
      // ๊ฒฐ๊ณผ๊ฐ’์€ num1์—์„œ num2์™€ i๋ฅผ ๊ณฑํ•œ ๊ฐ’์„ ๋นผ์ฃผ๋ฉด ๋‚˜๋จธ์ง€๊ฐ€ ๋‚˜์˜ด (ex. 25-4*6 = ๋‚˜๋จธ์ง€ 1)
      result = num1 - num2 * i;
      // num1๊ณผ num2๊ฐ€ ๊ฐ™๋‹ค๋ฉด
    } else if (num1 === num2) {
      // ๋‚˜๋จธ์ง€ ์—†์ด 0์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง
      return 0;
    }
  }
  // ๋‚˜๋จธ์ง€ ๊ฐ’์„ ๋ฆฌํ„ด
  return result;
}

 

โœ๐Ÿป ๋˜ ๋‹ค๋ฅธ ํ’€์ด: while๋ฌธ ์‚ฌ์šฉ

function modulo(num1, num2) {
  // ๋งŒ์•ฝ num2๊ฐ€ 0์ด๋ฉด
  if (num2 === 0) {
    // 'Error~'๋ฅผ ๋ฆฌํ„ด
    return 'Error: cannot divide by zero';
  }
  // num1๊ฐ€ num2๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์„ ๋•Œ๊นŒ์ง€๋งŒ ์‹คํ–‰
  while (num1 >= num2) {
    // num1์—์„œ num2๋ฅผ ๋บ€ num1๊ฐ’์œผ๋กœ ๋‹ค์‹œ ๋ฐ˜๋ณต
    num1 = num1 - num2;
    // ex. 1๋ฒˆ์งธ ๋ฐ˜๋ณต: 15 = 25 - 10
    // ex. 2๋ฒˆ์งธ ๋ฐ˜๋ณต: 5 = 15 - 10 -> ๋
  }
  // num1๊ฐ€ num2๋ณด๋‹ค ์ž‘์œผ๋ฉด ํ•ด๋‹น num1 ๊ฐ’ (ex. 5)์„ ๋ฆฌํ„ด
  return num1;
}

 

๐Ÿ’ก ์•Œ์•„๋‘๋ฉด ์ข‹์„ ๊ฐœ๋…

While๋ฌธ

while๋ฌธ์€ ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ, ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ด๋ผ๋ฉด while๋ฌธ ์•ˆ์˜ ๋ฌธ์žฅ๋“ค์ด ์‹คํ–‰๋˜๋ฉฐ ๊ฑฐ์ง“์ด๋ผ๋ฉด while๋ฌธ ์ดํ›„๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ๋ฐ˜๋ณต๋ฌธ ์†์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์žฅ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ค‘๊ด„ํ˜ธ { } ๋ฅผ ํ†ตํ•ด ๋ฌธ์žฅ๋“ค์„ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด์•ผ ํ•œ๋‹ค. (์ถœ์ฒ˜: mdn)

var n = 0;
var x = 0;

while (n < 3) { // n์ด 3๋ณด๋‹ค ์ž‘์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต
  n++;
  x += n;
}

 

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป ๋ฐฐ์šด ์ 

for๋ฌธ์ด ์ต์ˆ™ํ•ด์„œ for๋ฌธ์œผ๋กœ ํ’€์—ˆ์œผ๋‚˜, while๋ฌธ์„ ํ™œ์šฉํ•˜๋ฉด ์ฝ”๋“œ ๊ธธ์ด๋„ ์งง์€๋ฐ๋‹ค๊ฐ€ (ํŠนํžˆ num1๊ณผ num2์˜ ์ˆ˜ ์ฐจ์ด๊ฐ€ ํฌ๋ฉด ํด์ˆ˜๋ก) ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๊ธฐ์— ํ•ด๋‹น ๋ฌธ์ œ์—์„œ๋Š” while๋ฌธ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹๋‹ค.

๋Œ“๊ธ€