
โญ๏ธ ์๊ณ ๋ฆฌ์ฆ(9) : ๋๋จธ์ง๊ฐ 1์ด ๋๋ ์ ์ฐพ๊ธฐ _ Lv.1 โญ๏ธ
01. ๋ฌธ์ ์ค๋ช
๐งฉ ์์ฐ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค.
๐งฉ n์ x๋ก ๋๋ ๋๋จธ์ง๊ฐ 1์ด ๋๋๋ก ํ๋ ๊ฐ์ฅ ์์ ์์ฐ์ x๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐งฉ ๋ต์ด ํญ์ ์กด์ฌํจ์ ์ฆ๋ช
๋ ์ ์์ต๋๋ค.
๐งฉ ์๋ฅผ ๋ค์ด 10์ 3์ผ๋ก ๋๋ ๋๋จธ์ง๊ฐ 1์ด๊ณ , 3๋ณด๋ค ์์ ์์ฐ์ ์ค์์ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์๊ฐ ์์ผ๋ฏ๋ก, 3์ return ํด์ผ ํฉ๋๋ค.
๐งฉ ์๋ฅผ ๋ค์ด 12๋ฅผ 11๋ก ๋๋ ๋๋จธ์ง๊ฐ 1์ด๊ณ , 11๋ณด๋ค ์์ ์์ฐ์ ์ค์์ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์๊ฐ ์์ผ๋ฏ๋ก, 11์ return ํด์ผ ํฉ๋๋ค.
๐ ์ ํ ์กฐ๊ฑด : 3 โค n โค 1,000,000
02. " solution.js " ๋ฌธ์ ํ์ด๋ณด๊ธฐ
๐ก n ์ i ๋ก ๋๋ด์ ๋ ๋๋จธ์ง๊ฐ 1์ด ๋ ๋, i์ ๊ฐ์ ๋ฐํํ๋ ์กฐ๊ฑด๋ฌธ์ ๋ฐ๋ณต์์ผ๋ณด์.
function solution(n) { for (let i=2; i<n; i++) { if (n % i === 1) return i; } } console.log(solution(10)) console.log(solution(12))
___ ์ฐธ๊ณ ํ๊ธฐ ___
`1 for๋ฌธ : ๊ดํธ ์์ ์์ ๋ฐ๋ณต ์คํํฉ๋๋ค.
`2 if๋ฌธ : if๋ฌธ์ ์ง์ ํ ์กฐ๊ฑด์ด ์ฐธ์ธ ๊ฒฝ์ฐ ๋ช
๋ น๋ฌธ(statement)์ ์คํํฉ๋๋ค. ์กฐ๊ฑด์ด ๊ฑฐ์ง์ธ ๊ฒฝ์ฐ ๋ ๋ค๋ฅธ ๋ช
๋ น๋ฌธ์ด ์คํ๋ ์ ์์ต๋๋ค.
03. ๋ค๋ฅธ ํ์ด ์์๋ณด๊ธฐ
# 1) ์ผํญ ์ฐ์ฐ์ ํ์ฉํ๊ธฐ
function solution( n, x = 2 ) { return n % x === 1 ? x : solution( n, x + 1 ); } // ์กฐ๊ฑด์ ๋ง์กฑํ ๋๊น์ง ๋ฐ๋ณต๋จ console.log(solution(10)) console.log(solution(12))
___ ์ฐธ๊ณ ํ๊ธฐ ___
`1 ์กฐ๊ฑด(์ผํญ) ์ฐ์ฐ์ : ์์์๋ถํฐ ์กฐ๊ฑด๋ฌธ, ๋ฌผ์ํ(?), ์กฐ๊ฑด๋ฌธ์ด ์ฐธ(truthy)์ผ ๊ฒฝ์ฐ ์คํํ ํํ์, ์ฝ๋ก (:), ์กฐ๊ฑด๋ฌธ์ด ๊ฑฐ์ง(falsy)์ผ ๊ฒฝ์ฐ ์คํํ ํํ์์ด ๋ฐฐ์น๋ฉ๋๋ค.
# 2) while๋ฌธ ํ์ฉํ๊ธฐ
function solution( n, x = 1 ) { while (x++) { if ( n % x === 1 ) { return x; } } } console.log(solution(10)) console.log(solution(12))
___ ์ฐธ๊ณ ํ๊ธฐ ___
`1 while๋ฌธ : ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ผ ๋ ์คํ๋๋ ๋ฐ๋ณต๋ฌธ์
๋๋ค.
๋ฐ๋ณต ์์ ์ ์ ์กฐ๊ฑด๋ฌธ์ด ์ฐธ, ๊ฑฐ์ง์ ํ๋จ๋ฐ์ผ๋ฏ๋ก, ์กฐ๊ฑด๋ฌธ์ด ๊ฑฐ์ง์ผ ๊ฒฝ์ฐ, ๋ฌธ์ฅ์ while ๋ฐ๋ณต๋ฌธ ํ๋ก ๊ทธ๋ฅ ๋์ด๊ฐ๋๋ค.
# 3) push( )์ Math.min( ) ํ์ฉํ๊ธฐ
function solution(n) { let answer = []; for (let i = 1; i<=n; i++) { if (n % i === 1) { answer.push(i); } } return Math.min(...answer); } console.log(solution(10)) console.log(solution(12))
___ ์ฐธ๊ณ ํ๊ธฐ ___
`1 Array.prototype.push( ) : ๋ฐฐ์ด์ ๋์ ํ๋ ์ด์์ ์์๋ฅผ ์ถ๊ฐํ๊ณ , ๋ฐฐ์ด์ ์๋ก์ด ๊ธธ์ด๋ฅผ ๋ฐํํฉ๋๋ค.
`2 Math.min( ) : ์ฃผ์ด์ง ์ซ์๋ค ์ค ๊ฐ์ฅ ์์ ๊ฐ์ ๋ฐํํฉ๋๋ค.
'Algorithm_JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๊ณ ๋ฆฌ์ฆ(11) : ์ด์ํ ๋ฌธ์ ๋ง๋ค๊ธฐ _ Lv.1 (2) | 2022.11.06 |
---|---|
์๊ณ ๋ฆฌ์ฆ(10) : ์๋ฆฟ์ ๋ํ๊ธฐ _ Lv.1 (1) | 2022.11.06 |
์๊ณ ๋ฆฌ์ฆ(8) : ์์ธ์์ ๊น์๋ฐฉ ์ฐพ๊ธฐ _ Lv.1 (1) | 2022.11.03 |
์๊ณ ๋ฆฌ์ฆ(7) : ๊ฐ์ด๋ฐ ๊ธ์ ๊ฐ์ ธ์ค๊ธฐ _ Lv.1 (3) | 2022.11.03 |
์๊ณ ๋ฆฌ์ฆ(6) : ๋ฌธ์์ด์ ์ ์๋ก ๋ฐ๊พธ๊ธฐ _ Lv.1 (2) | 2022.11.02 |
๋๊ธ