๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ“„ Clamp

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

clamp ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ์ˆซ์ž๋ฅผ ์ง€์ •๋œ ๋ฒ”์œ„ ๋‚ด๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.

์š”๊ตฌ ์‚ฌํ•ญโ€‹

  • clamp๋Š” ์„ธ ๊ฐœ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค: number(์ˆซ์ž), lower(ํ•˜ํ•œ), upper(์ƒํ•œ).
  • number๊ฐ€ lower๋ณด๋‹ค ์ž‘์œผ๋ฉด lower๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • number๊ฐ€ upper๋ณด๋‹ค ํฌ๋ฉด upper๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ ์™ธ์—๋Š” number๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

I. ๋ธŒ๋ฃจํŠธํฌ์Šค ํ•ด๋ฒ•, if ์กฐ๊ฑด๋ฌธ ์‚ฌ์šฉโ€‹

function clamp(number, lower, upper) {
if (number < lower) {
return lower;
} else if (number > upper) {
return upper;
} else {
return number;
}
}

II. Math.min๊ณผ Math.max ํ•จ์ˆ˜ ์‚ฌ์šฉโ€‹

function clamp(number, lower, upper) {
return Math.min(upper, Math.max(lower, number));
}