Question
ํจ์ solution์ ์ ์ x์ ์์ฐ์ n์ ์ ๋ ฅ๋ฐ์, x๋ถํฐ ์์ํด x์ฉ ์ฆ๊ฐํ๋ ์ซ์๋ฅผ n๊ฐ ์ง๋๋ ๋ฆฌ์คํธ๋ฅผ ๋ฆฌํดํด์ผ ํฉ๋๋ค. ๋ค์ ์ ํ ์กฐ๊ฑด์ ๋ณด๊ณ , ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์.
https://school.programmers.co.kr/learn/courses/30/lessons/12954
์ ํ์กฐ๊ฑด
- x๋ -10000000 ์ด์, 10000000 ์ดํ์ธ ์ ์์ ๋๋ค.
- n์ 1000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
์ ์ถ๋ ฅ ์์
My Code
function solution(x, n) {
let arr = [];
let firstX = x;
for (let i = 0 ; i < n ; i ++ ) {
arr.push(x);
x += firstX ;
}
return arr;
}
HOW? (ํ์ด๋ฐฉ๋ฒ)
for๋ฌธ์ ๋ช์์ ๋น ์ ธ๋์ฌ ํ์๊ฐ ์๋ค.
ํ์ง๋ง ์ค๋๋ for๋ฌธ์ ์ด์ฉํด์ ํ์ด๋ณธ๋ค.
์ด๋ ๊ฒ ๋์ด์ for๋ฌธ์ด๋ผ๋ ๊ธฐ๊น๋๊ฒ ์ฐ์ง ๋ชปํ๋ฉด ์ต์ธํ ๊ฑฐ ๊ฐ๋ค.
1. ๋น ๋ฐฐ์ด์ ์ ์ํ๋ค.
2. ์ ๋ ฅ๋ฐ์ ์ฒ์ x๊ฐ์ firstX๋ณ์์ ํ ๋นํ๋ค
์ฒ์์๋ x ๊ฐ์ ๊ณ์ ๊ฐฑ์ ํ๋ ๋ฐฉ์์ผ๋ก ํ๋๋ x ๊ฐ์ด ๊ฑท์ก์์ ์์ด ์ปค์ก๋ค.
์๋๋ฉด x๋ ๊ฐ์ด ์ปค์ง๋๊น ์๊ฐํด๋ณด๋ฉด ์ฌ์ด ์๋ฆฌ์ธ๋ฐ ๋์ด์ผ๋ณด๋ฉด ๋์น๋ค.
๋ฐ๋ผ์ ์ฒ์ x๊ฐ์ ๋ณ์์ ํ ๋นํด๋๊ณ ์ฌ์ฉํด์ผ ํ๋ค.
3. ๋ฐฐ์ด์ x๊ฐ์ push ํ๊ณ x์ firstX๊ฐ์ ๋ํด ๊ฐ์ ๊ฐฑ์ ํ๋ค.
4. 3๋ฒ์ n๋ฒ ๋ฐ๋ณตํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ์ฌ๋์ ํ์ด๋ฅผ ๋ณด๊ณ ์๋กญ๊ฒ ์์๋ธ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ด ์๋ค.
function solution(x,n) {
return Array(n).fill(x).map((value, idx) =>(idx + 1 ) * value )
}
Array(n) ๊ณผ fill(x)...!!!
map์ ์ฌ์ฉํ๋ฉด ๋ญ๊ฐ ๋ง๋ค ์ ์๊ฒ ๋ค ๊น์ง ์๊ฐ์ ํ๋ค.
ํ์ง๋ง map์ ์ด์ฉํ๋ ค๋ฉด ๋ฐฐ์ด์ด ํ์ํ๋ค.
๋ฐฐ์ด์ ๋ง๋ค๊ณ ๊ฐ์ ์ฑ์ ๋ฃ๋ ๊ณผ์ ์ ๋ชฐ๋ผ์ ๋ชปํ๋ค.
๊ทธ ๊ณผ์ ์ ํ์ํ๋ ์์ฑ์์ ๋ฉ์๋์๋ค.
Array()
// ๋น ๋ฐฐ์ด ์์ฑ
Array()
// n๊ฐ์ ๋น์ด์๋ item์ ๊ฐ์ง์ ์๋ ๋ฐฐ์ด ์์ฑ
Array(n)
fill()
let arr = [1,2,3,4];
// ๋ฐฐ์ด์ ์์ ์ธ๋ฑ์ค๋ถํฐ ๋ ์ธ๋ฑ์ค๊น์ง ์ ์ ์ธ ๊ฐ์ผ๋ก ์ฑ์
console.log(arr.fill(5)) // [5,5,5,5]
// ๋ฐฐ์ด์ ์ธ๋ฑ์ค 1๋ถํฐ 3์ผ๋ก ์ฑ์
console.log(arr.fill(3,1)) // [1,3,3,3]
// ๋ฐฐ์ด์ ์ธ๋ฑ์ค 2๋ถํฐ 4๊น์ง 0์ผ๋ก ์ฑ์
console.log(arr.fill(0,2,4) // [1,2,0,0]
'Algorithms > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ํฐ์ผ๋ชฌ (0) | 2022.07.14 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค : 2016๋ (0) | 2022.06.04 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : K๋ฒ์งธ ์ (0) | 2022.05.29 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (0) | 2022.05.27 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์์ฐ์ ๋ค์ง์ด ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ (0) | 2022.05.22 |