๋”ฐํŒŒ๐Ÿ•
Hwaiian Pizza IT Pub
๋”ฐํŒŒ๐Ÿ•
  • ALL (62)
    • Front-End (13)
      • HTML & CSS (2)
      • JavaScript (7)
      • React (2)
      • TypeScript (0)
      • Jquery (0)
      • Git (1)
      • Editor (0)
    • Algorithms (44)
      • Baekjoon (28)
      • Programmers (13)
      • Algorithms (3)
    • Computer Science (0)
      • Math (0)
    • Conference (1)
    • Life (3)
      • Book (0)
hELLO ยท Designed By ์ •์ƒ์šฐ.
๋”ฐํŒŒ๐Ÿ•

Hwaiian Pizza IT Pub

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : x๋งŒํผ ๊ฐ„๊ฒฉ์ด ์žˆ๋Š” n๊ฐœ์˜ ์ˆซ์ž
Algorithms/Programmers

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : x๋งŒํผ ๊ฐ„๊ฒฉ์ด ์žˆ๋Š” n๊ฐœ์˜ ์ˆซ์ž

2022. 7. 13. 15:48
๋ฐ˜์‘ํ˜•

Question

 

ํ•จ์ˆ˜ solution์€ ์ •์ˆ˜ x์™€ ์ž์—ฐ์ˆ˜ n์„ ์ž…๋ ฅ๋ฐ›์•„, x๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด x์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆซ์ž๋ฅผ n๊ฐœ ์ง€๋‹ˆ๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ œํ•œ ์กฐ๊ฑด์„ ๋ณด๊ณ , ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

https://school.programmers.co.kr/learn/courses/30/lessons/12954

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

์ œํ•œ์กฐ๊ฑด

  • 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() ์ƒ์„ฑ์ž - JavaScript | MDN

Array() ์ƒ์„ฑ์ž๋Š” ์ƒˆ๋กœ์šด Array ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

developer.mozilla.org

// ๋นˆ ๋ฐฐ์—ด ์ƒ์„ฑ
Array() 

// n๊ฐœ์˜ ๋น„์–ด์žˆ๋Š” item์„ ๊ฐ€์งˆ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด ์ƒ์„ฑ
Array(n)

 

 

fill()

 

Array.prototype.fill() - JavaScript | MDN

fill() ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋ ์ธ๋ฑ์Šค์˜ ์ด์ „๊นŒ์ง€ ์ •์ ์ธ ๊ฐ’ ํ•˜๋‚˜๋กœ ์ฑ„์›๋‹ˆ๋‹ค.

developer.mozilla.org

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
    'Algorithms/Programmers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ํฐ์ผ“๋ชฌ
    • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : 2016๋…„
    • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : K๋ฒˆ์งธ ์ˆ˜
    • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ œ์ผ ์ž‘์€ ์ˆ˜ ์ œ๊ฑฐํ•˜๊ธฐ
    ๋”ฐํŒŒ๐Ÿ•
    ๋”ฐํŒŒ๐Ÿ•
    ์ €์ชฝ ์†๋‹˜์ด ๋ณด๋‚ด์‹  ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋””๋ฒ„๊น… ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?๐Ÿน

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”