๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[Code Kata] ๋‘ ์ •์ˆ˜ ์‚ฌ์ด์˜ ํ•ฉ - JavaScript

 

 
 

โœ… ๋ฌธ์ œ์„ค๋ช…

๋‘ ์ •์ˆ˜ a, b๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ a์™€ b ์‚ฌ์ด์— ์†ํ•œ ๋ชจ๋“  ์ •์ˆ˜์˜ ํ•ฉ์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด a = 3, b = 5์ธ ๊ฒฝ์šฐ, 3 + 4 + 5 = 12์ด๋ฏ€๋กœ 12๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.

  • ์ œํ•œ์‚ฌํ•ญ

a์™€ b๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋‘˜ ์ค‘ ์•„๋ฌด ์ˆ˜๋‚˜ ๋ฆฌํ„ดํ•˜์„ธ์š”.

a์™€ b๋Š” -10,000,000 ์ด์ƒ 10,000,000 ์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.

a์™€ b์˜ ๋Œ€์†Œ๊ด€๊ณ„๋Š” ์ •ํ•ด์ ธ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ์ž…์ถœ๋ ฅ ์˜ˆ

a b return

3 5 12

3 3 3

5 3 12

 

 

โœ ๋ฌธ์ œํ’€์ด

  1. ์ฒ˜์Œ ์‹œ๋„ํ•œ ์ฝ”๋“œ
function solution(a, b) {
  let answer = 0;
  for (let i = a; i <= b; i++) {
    answer += i;
  }
  return answer;
}
console.log(solution(3, 5));
 

ํ•ด์„ค / ์žก์„ค

a๋Š” 3, b๋Š” 5์ผ ๊ฒฝ์šฐ, a ์™€ b ์‚ฌ์ด์˜ ๋ชจ๋“  ์ •์ˆ˜์˜ ํ•ฉ ์ฆ‰ 3 4 5 ๋ฅผ ํ•ฉํ•ด 12๋ฅผ ์ถœ๋ ฅํ•ด์•ผ๋œ๋‹ค.

์–ด๋–ป๊ฒŒ ํ•ด์•ผ ๋ ๊นŒ?

for ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ a ๋ถ€ํ„ฐ b ๊นŒ์ง€ ๋”ํ•˜๋Š” ๋กœ์ง์„ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ๋‹ค.

์˜ˆ์ƒ๋Œ€๋กœ 12๊ฐ€ ์ถœ๋ ฅ๋˜์—ˆ์œผ๋‚˜, a๋ฅผ b๋ณด๋‹ค ์ž‘๊ฒŒ ์„ค์ •ํ•  ๊ฒฝ์šฐ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

2. ์ˆ˜์ • / ์„ฑ๊ณตํ•œ ์ฝ”๋“œ

function solution(a, b) {
  let answer = 0;
  if (a <= b) {
    for (let i = a; i <= b; i++) {
      answer += i;
    }
    return answer;
  } else if (a < b) {
    let answer = 0;
    for (let i = b; i <= a; i++) {
      answer += i;
    }
    return answer;
  }
}
console.log(solution(3, 5));
 

ํ•ด์„ค / ์žก์„ค

a๊ฐ€ b๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜, ๊ฐ™์„๋•Œ ์ฒซ๋ฒˆ์งธ if ๋ฌธ์„ ์‹คํ–‰

b๊ฐ€ a๋ณด๋‹ค ํด๋•Œ ๋‘๋ฒˆ์งธ if๋ฌธ์„ ์‹คํ–‰ ํ•˜๋„๋ก ๋กœ์ง์„ ์ž‘์„ฑํ•˜์˜€๋Š”๋ฐ GPT๋Š” ๋กœ์ง์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

 

3. ์ˆ˜์ • / ์„ฑ๊ณตํ•œ ์ฝ”๋“œ

function solution(a, b) {
  let answer = 0;
  let start = Math.min(a, b);
  let end = Math.max(a, b);
  for (let i = start; i <= end; i++) {
    answer += i;
  }
  return answer;
}

console.log(solution(5, 3));
 

ํ•ด์„ค / ์žก์„ค

๋กœ์ง์˜ ์—๋Ÿฌ์™€ ๋ณต์žก๋„๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด Math ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ start๋กœ, ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ max๋กœ ์„ค์ •ํ•˜์˜€๋‹ค.

๊ทธ๋ฆฌ๊ณ  for๋ฌธ์„ ์‹คํ–‰ํ•˜๋‹ˆ ์ž˜ ์ž‘๋™ํ•˜์˜€๋‹ค.

 

 

โœ”๏ธ ์ฐธ๊ณ ํ•  ์ข‹์€ ์ฝ”๋“œ

function solution(a, b) {
    let answer = 0;
    
    for(let i = Math.min(a, b); i <= Math.max(a, b); i++) {
    	answer = answer + i;
    }
    
    return answer;
}
 
 

ํ•ด์„ค / ์žก์„ค

ํ•จ์ˆ˜ ๋ฐ–์—์„œ start, end ๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š๊ณ , ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ for๋ฌธ์—์„œ ์ฆ‰์„์œผ๋กœ ํŒ๋ณ„ ํ›„, ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์—ˆ๋‹ค.

 

 

๐Ÿ“ TIL

๋‹ค๋“ค ๋จธ๋ฆฌ๊ฐ€ ์ž˜ ๋Œ์•„๊ฐ€๋‚˜๋ณด๋‹ค ใ„ทใ„ทใ„ท

๋ถ€๋Ÿฝ๋‹ค