function solution(n) {
let answer = 1;
for (let num = 1; num <= n / 2; num++) {
let max = n;
let start = num;
while (max > 0) {
max -= start;
start++;
}
if (max === 0) {
answer++;
}
}
return answer;
}
- ์ซ์ ๋ณธ์ธ๋ ์กฐ๊ฑด์ ๋ง์กฑํ๊ธฐ ๋๋ฌธ์ answer = 1๋ก ์ ์ธ ๋ฐ ํ ๋น
- ๊ธฐ์ค์ด ๋๋ ์ซ์(๊ฐ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ซ์๋ค์ ์กฐํฉ์์ ๊ฐ์ฅ ์์ ์ซ์)๋ n / 2๋ณด๋ค ํด ์ ์์ผ๋ฏ๋ก ๋ฐ๋ณต๋ฌธ ์กฐ๊ฑด์ n / 2๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์์ผ๋ก ์ค์
- ๋ฐ๋ณต๋ฌธ์ ์กฐ๊ฑด ๋ณ์ num๊ณผ n์ ์ง์ ์ํฅ์ ์ฃผ๋ฉด ์๋๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก max์ start๋ก ๋ณ์๋ฅผ ์ ์ธ ๋ฐ ํ ๋น
- max ๊ฐ 0๋ณด๋ค ํฐ ๋์ start๊ฐ์ ๋นผ์ค๊ณผ ๋์์ start๋ ์ ์ 1์ฉ ์ฆ๊ฐ์ํต๋๋ค.
- while๋ฌธ์ ๋น ์ ธ๋์์ ๋, max๊ฐ์ด 0์ด๋ผ๋ฉด ์ฐ์๋ ์ซ์์ ํฉ์ด n๊ณผ ๊ฐ๋ค๋ ์๋ฏธ์ด๋ฏ๋ก answer++ ํด์ค๋๋ค.
๋ณ ๊ฒ ์๋ ๋ฌธ์ ์ธ๋ฐ, ๋ฐ๋ณต๋ฌธ์ ์กฐ๊ฑด์ ์๋ ๋ณ์ ์์ฒด๊ฐ ๋ฐ๋๋ฉด ์๋๊ธฐ์ ๋ฐ๋ก ๊ฐ์ ์ก์์ฃผ๋ ๋ถ๋ถ์ด ์ด์ง ํท๊ฐ๋ ธ๋ค.
๋ํ, ์ ๋ง ์ ๋ง ์์ฃผ ๊ทผ์ํ ์ฐจ์ด๋ก ํจ์จ์ฑ ํ
์คํธ์์ ํ ๋๊ฐ์ฉ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ์ฌ์ ๋ฐ๋ณต๋ฌธ์์ ์ต๋์น๋ฅผ n / 2๋ก ํด์ฃผ๊ณ answer๋ ์ฒ์์ 0์ผ๋ก ์์ํด์ return์์ 1์ ๋ํ๋ ๊ฑธ, ์ฒ์๋ถํฐ 1๋ก ์์ํ๋ ๊ฒ์ผ๋ก ๋ฐ๊พธ๋ ๋ฑ ์ง์ํ ๋ถ๋ถ๋ค์ ๋ฐ๊พธ์ด์ ํด๊ฒฐํ ์ ์์๋ค. ใ
ใ
ใ
'๐ JavaScript > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ์ฐ์ต๋ฌธ์ - ํ๋ ฌ์ ๊ณฑ์ (0) | 2022.07.05 |
---|---|
[JS] ์ฐ์ต๋ฌธ์ - ์ต์๊ฐ ๋ง๋ค๊ธฐ (0) | 2022.07.05 |
[JS] ์ฐ์ต๋ฌธ์ - ํผ๋ณด๋์น ์ (0) | 2022.07.03 |
[JS] ์ฐ์ต๋ฌธ์ - JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ (0) | 2022.07.03 |
[JS] ์ฐ์ต๋ฌธ์ - N๊ฐ์ ์ต์๊ณต๋ฐฐ์ (0) | 2022.07.02 |