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

[์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ] : ์ œ๊ณฑ์ˆ˜ ํŒ๋ณ„ํ•˜๊ธฐ JS

by ๊ถŒ์Šพํ–„ 2024. 1. 3.

 

๋ฌธ์ œ

์ œ๊ณฑ ์ˆ˜ ํŒ๋ณ„ํ•˜๊ธฐ

 

๋ฌธ์ œ ์ ‘๊ทผ

์ œ๊ณฑ์ˆ˜๋ฅผ ํŒ๋ณ„ํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ฃผ์–ด์ง€๋Š” n์˜ ๋ฒ”์œ„๋Š” 1 ๋ถ€ํ„ฐ 1,000,000๊นŒ์ง€.... ์ด๊ฑธ ์–ด๋–ป๊ฒŒ ํ• ๊นŒ ํ•˜๋‹ค๊ฐ€

์ผ๋‹จ ์ œ๊ณฑ์ˆ˜๋ผ๋Š” ๋‹จ์–ด๋งŒ ๋ณด๊ณ  mdn Math ๋ฉ”์„œ๋“œ๋ฅผ ๋’ค์ ธ๋ดค๋‹ค.

๊ทธ๋žฌ๋”๋‹ˆ Math.sqrt() ์ œ๊ณฑ๊ทผ ๋ฉ”์„œ๋“œ๋ฅผ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ’์ด ์ถœ๋ ฅ๋˜๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค.

Math.sqrt(9); // 3
Math.sqrt(2); // 1.414213562373095

Math.sqrt(1); // 1
Math.sqrt(0); // 0
Math.sqrt(-1); // NaN

๊ทธ๋ ‡๋‹ค๋ฉด ๋งŒ์•ฝ ๋ฐ˜ํ™˜๋œ ๊ฐ’์„ 1๋กœ ๋‚˜๋ˆ„๊ณ  ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋œ๋‹ค๋ฉด ์ฃผ์–ด์ง„ n์€ ์ œ๊ณฑ์ˆ˜์ด๊ฒ ๊ตฌ๋‚˜ ํ–ˆ๋‹ค.

 

์ œ์ถœ ์ฝ”๋“œ

function solution(n) {
    return Math.sqrt(n) % 1 === 0 ? 1 : 2;
}

์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด์„œ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ฉด 1 ์•„๋‹๊ฒฝ์šฐ 2๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ํ•ด์ฃผ์—ˆ๋‹ค.