ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด
https://school.programmers.co.kr/learn/courses/30/lessons/120813
์ฌ์ฉ ์ธ์ด - ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS
1. ์ง์๋ ์ซ์ด์
1) โ ๋ฌธ์ ์ค๋ช
์ ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, n ์ดํ์ ํ์๊ฐ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด๊ธด ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
2) ๐ซ ์ ํ ์ฌํญ
- 1 ≤ n ≤ 100
3) โ๏ธ ์ ์ถ๋ ฅ ์
n | result |
10 | [1, 3, 5, 7, 9] |
15 | [1, 3, 5, 7, 9, 11, 13, 15] |
2. ์ฌ์ฉํ ๋ฉ์๋: For๋ฌธ
For๋ฌธ์ผ๋ก ๋ฐฐ์ด์ ํ์๋ฅผ push
for๋ฌธ์ ๊ดํธ๋ก ๊ฐ์ธ๊ณ ์ธ๋ฏธ์ฝ๋ก ์ผ๋ก ๊ตฌ๋ถํ ์ธ ๊ฐ์ ์ ํ์๊ณผ, ๋ฐ๋ณต์ ์ํํ ๋ฌธ(์ฃผ๋ก ๋ธ๋ญ๋ฌธ)์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
// ์ฌ๋ฌ ๋ฌธ ๋ฐ๋ณต ์คํ ์ { statement }
for ([initialization]; [condition]; [final-expression]) {
statement
}
// ์๋ฌด ๊ฒ๋ ์คํํ์ง ์์ ์
for ([initialization]; [condition]; [final-expression]);
initialization
- ์ ๋๋ ๋ณ์ ์ ์ธ, ์ฃผ๋ก ์นด์ดํฐ ๋ณ์๋ฅผ ์ด๊ธฐํํ ๋ ์ฌ์ฉ
condition
- ๋งค ๋ฐ๋ณต๋ง๋ค ํ๊ฐํ ์
- ํ๊ฐ ๊ฒฐ๊ณผ๊ฐ true์ด๋ฉด statement๋ฅผ ์คํ, false์ด๋ฉด for๋ฌธ์ ๋ค์ ์์ผ๋ก ๋์ด๊ฐ
final-expression
- ๋งค ๋ฐ๋ณต ํ ํ๊ฐํ ์์ผ๋ก, ๋ค์ condition ํ๊ฐ ์ด์ ์ ๋ฐ์
- ์ฃผ๋ก ์นด์ดํฐ ๋ณ์๋ฅผ ์ฆ๊ฐํ๊ฑฐ๋ ๋ณ๊ฒฝํ ๋ ์ฌ์ฉ
statement
- ์กฐ๊ฑด์ ํ๊ฐ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ผ ๋ ์คํํ๋ ๋ฌธ. ์ฌ๋ฌ ๋ฌธ์ ๋ฐ๋ณต ์คํํ๋ ค๋ฉด ๋ธ๋ญ๋ฌธ( {} )์ผ๋ก ๋ฌถ์ด์ฃผ์ด์ผ ํจ.
- ์๋ฌด๊ฒ๋ ์คํํ์ง ์์ผ๋ ค๋ฉด ๊ณต๋ฐฑ๋ฌธ ( ; ) ์ฌ์ฉ
3. ๋ต์
1) ๋์ ํ์ด
const solution = (n) => {
let answer = [];
for (let i=0; i<=n; i++) {
i%2 && answer.push(i)
}
return answer
}
2) ๋ค๋ฅธ ์ฌ๋์ ํ์ด
(1) for๋ฌธ์ ๋ณ์ i์ ์ด๊ธฐ๊ฐ์ 1๋ก ์ค์ ํ, i์ ์ฆ๊ฐ์์ i+=2๋ก ์ค์ ํ์ฌ ํ์๋ฅผ push
function solution(n) {
var answer = [];
for (let i = 1; i<=n; i+=2) answer.push(i)
return answer;
}
- ์ ์ฒด์ ์ธ ๋ฐฉ๋ฒ์ ๋ด ํ์ด์ ๊ฐ์ง๋ง, for๋ฌธ ๋ด์์ ์ง์์์ ๊ฒ์ฆํ ํ์ ์์ด let i=1, i+=2๋ก ํ์๋ง ํธ์ํ ์ ์๋๋ก ์ค์ ํ ์ ์ด ์ข์๋ค.
(2) fill, map, filter์ index๋ฅผ ์ฌ์ฉํ ๋ฐฉ๋ฒ
function solution(n) {
return Array(n).fill(1).map((v,i)=>v+i).filter(v=>v%2===1);
}
- ๊ฐํํ๋ฉฐ ๋ดค๋ ํ์ด ๋ฐฉ๋ฒ์ด์๋ค.
- ์ผ๋จ ๋ฐฐ์ด์ n๊ฐ์ 1๋ก ์ฑ์ด ๋ค, ์ธ๋ฑ์ค๋ฅผ ํ์ฉํ์ฌ map์ผ๋ก ์ ์ฒด ๋ฐฐ์ด์ 1๋ถํฐ n๊น์ง ์ค๋ฆ์ฐจ์ ์ซ์ ๋ฐฐ์ด๋ก ๋ง๋ ๋ค, filter๋ก ํ์๋ฐฐ์ด์ ๋ง๋๋ ๋ฐฉ๋ฒ
- ์๋ฅผ ๋ค์ด, n=5์ด๋ฉด Array(n).fill(1)๋ก [1, 1, 1, 1, 1] ๋ฐฐ์ด์ ๋ง๋ ํ, map์์ ๊ฐ ๋ฐฐ์ด ์์์ ์ธ๋ฑ์ค๋ฅผ ๋ํด์ [1, 2, 3, 4, 5]์ ๋ฐฐ์ด๋ก ๋งคํํ๋ค. ์ด๋ ๊ฒ ์์ฑ๋ ์ซ์ ๋ฐฐ์ด์ filter๋ก ํ์๋ง ํํฐ๋งํ์ฌ ๋ต์ ์์ฑ
'๐ป Programming > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 0] ํน์๋ฌธ์ ์ถ๋ ฅํ๊ธฐ (0) | 2023.08.13 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 0] ๋ฆฌ์คํธ ์๋ฅด๊ธฐ (0) | 2023.08.08 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 0] 369๊ฒ์ (0) | 2023.08.02 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 1] ์ฝ๋ผ์ธ ์ถ์ธก (0) | 2023.08.02 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv. 0] ๊ฐ๊น์ด 1 ์ฐพ๊ธฐ (0) | 2023.07.28 |