๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

Programmers Lv.1 : ๋‘ ์ •์ˆ˜ ์‚ฌ์ด์˜ ํ•ฉ

by Youcodein 2022. 11. 11.
728x90
๋ฐ˜์‘ํ˜•

Programmers Lv.1 : ๋‘ ์ •์ˆ˜ ์‚ฌ์ด์˜ ํ•ฉ

๋‘ ์ •์ˆ˜ 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์˜ ๋Œ€์†Œ๊ด€๊ณ„๋Š” ์ •ํ•ด์ ธ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚ด ํ’€์ด

function solution(a, b) {
  var answer = 0;
  let num = [];
  if (a === b) {
      answer = a;
  } else {
      num.push(a,b);
      num.sort((a,b)=>a-b); // ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
      for (let i=num[0]; i<num[1]+1; i++) {
          answer += i
      }
  }
  
  return answer;
}

1.a๋ถ€ํ„ฐ b๊นŒ์ง€ ์ˆœ์ฐจ์ ์œผ๋กœ for๋ฌธ์„ ๋Œ๋ฆฌ๊ธฐ ์œ„ํ•ด, a์™€ b๋ฅผ ๋‹ด์„ ๋นˆ ๋ฐฐ์—ด์„ ๋งŒ๋“ ๋‹ค. num=[]
2.a์™€ b๊ฐ€ ๊ฐ™์„ ๊ฒฝ์šฐ์™€ ๋‹ค๋ฅผ ๊ฒฝ์šฐ์˜ ์กฐ๊ฑด์‹์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.
3.์ž‘์€ ์ˆ˜๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๋”ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, num ๋ฐฐ์—ด์˜ ์š”์†Œ๋“ค์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ค€๋‹ค.

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด

return (a+b)*(Math.abs(b-a)+1)/2;

Math.abs(): ์ฃผ์–ด์ง„ ์ˆซ์ž์˜ ์ ˆ๋Œ€๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. x๊ฐ€ ์–‘์ˆ˜์ด๊ฑฐ๋‚˜ 0์ด๋ผ๋ฉด x๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , x๊ฐ€ ์Œ์ˆ˜๋ผ๋ฉด x์˜ ๋ฐ˜๋Œ€๊ฐ’, ์ฆ‰ ์–‘์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€