[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_ ์ž…๋ฌธ : ๋ฐฐ์—ด ๋’ค์ง‘๊ธฐ (Array.reverse, unshift ๋“ฑ)

2024. 8. 26. 23:38ยท๐Ÿชด JavaScript & TypeScript/๐Ÿงฉ Algorithm
๋ชฉ์ฐจ
  1. โ“ ๋ฌธ์ œ
  2. ๐Ÿช„ ๋‚ด ์ฝ”๋“œ
  3. ๐Ÿงธ ๋‹ค๋ฅธ ํ’€์ด  
  4. 1) reverse() - ๊ฐ€์žฅ ๊ฐ„๋‹จ
  5. 2) for๋ฌธ๊ณผ push() - ๋‚ด ๋ฐฉ๋ฒ•๊ณผ ์œ ์‚ฌ
  6. 3) sort() ๋กœ ๊ฑฐ๊พธ๋กœ ์ •๋ ฌ
  7. 4) forEach๋ฌธ๊ณผ unshift()
SMALL

8.26

 

์ฝ”ํ…Œ ์ž…๋ฌธ ๋ฌธ์ œ - ๋ฐฐ์—ด ๋’ค์ง‘๊ธฐ

 

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

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

programmers.co.kr

๊ฐ„๋‹จํžˆ ํ’€ ์ˆ˜ ์žˆ์ง€๋งŒ ์ƒ๊ฐ๋ณด๋‹ค ํ’€์ด๊ฐ€ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ์˜€๋‹ค!


 

โ“ ๋ฌธ์ œ

์ •์ˆ˜๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ๋ฐฐ์—ด num_list๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. num_list์˜ ์›์†Œ์˜ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘์€ ๋ฐฐ์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

 

 

๐Ÿช„ ๋‚ด ์ฝ”๋“œ

function solution(num_list) {
    let answer = [];
    
    for (let i = num_list.length-1; i >= 0; i--) {
        answer.push(num_list[i]);    
    }
    
    return answer;
}

 

์•„์ง ๊ธฐ์ดˆ๊ฐ€ ์—†๊ณ  ๊นŒ๋จน์€ ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ์–ด์„œ .. ใ… .ใ…  ์ •์งํ•˜๊ฒŒ for๋ฌธ์œผ๋กœ ๊ฑฐ๊พธ๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ฐฐ์—ด์— ๋‹ด์•„์„œ ํ‘ผ ํ’€์ด.

for๋ฌธ์˜ ์ดˆ๊ธฐ ๋ณ€์ˆ˜๋Š” num_list ๋ฐฐ์—ด ๊ธธ์ด -1 ๋กœ , ํ•ด๋‹น ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ index(์ธ๋ฑ์Šค) ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋„๋ก ํ–ˆ๊ณ  

๋ณ€์ˆ˜ (์ธ๋ฑ์Šค)๊ฐ€ ํ•˜๋‚˜์”ฉ ๊ฐ์†Œํ•˜๋ฉฐ (i--) , 0์ด ๋  ๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณต์‹œํ‚ด. (i >= 0)

๊ทธ๋ฆฌ๊ณ  ํ•˜๋‚˜ํ•˜๋‚˜ answer ๋ฐฐ์—ด์— ๋‹ด์•„์ฃผ๊ธฐ. ( push() )

 

์•„๋ž˜ ๋‹ค๋ฅธ ํ’€์ด์ฒ˜๋Ÿผ,

๋ฐฐ์—ด ๋ฉ”์„œ๋“œ reverse๋ฅผ ๊ธฐ์–ตํ–ˆ๋‹ค๋ฉด ํ•œ ๋ฐฉ์— ํ’€ ์ˆ˜๋„ ์žˆ์—ˆ์„๊ฑฐ๊ณ , sort ์ •๋ ฌ ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ–ˆ์–ด๋„ ์ข‹์•˜์„ ๊ฒƒ์ด๋‹ค. 

๋˜ unshift๋ฅผ ํ™œ์šฉํ•˜๋Š” ํ’€์ด๋„ ๋‚˜๋ฆ„ ์žฌ๋ฐŒ๋Š” ๊ฒƒ(?) ๊ฐ™๋‹ค ! 

 

 

 

 

๐Ÿงธ ๋‹ค๋ฅธ ํ’€์ด  

1) reverse() - ๊ฐ€์žฅ ๊ฐ„๋‹จ

function solution(num_list) {
    return num_list.reverse()
}

 

๋ฐฐ์—ด ๋ฉ”์„œ๋“œ reverse()๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํ•œ ์ค„๋กœ ๋ฐ”๋กœ ๋‹ต์„ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค *_* !

์ฐธ๊ณ ๋กœ ์ด ๋ฉ”์„œ๋“œ๋Š” ๊ธฐ์กด ๋ฐฐ์—ด์„ ๋ณ€ํ˜•์‹œํ‚ค๋Š” ๋ฉ”์„œ๋“œ.

(์ฆ‰, ์œ„ ์ฝ”๋“œ์—์„œ num_list ๋ฐฐ์—ด์— reverse() ๋ฉ”์„œ๋“œ ํ•œ๋ฒˆ ์ ์šฉ์‹œ์ผฐ์œผ๋‹ˆ, ์ด์ œ num_list ๋ฐฐ์—ด ์ž์ฒด๋งŒ ์ถœ๋ ฅํ•ด๋„ ์›์†Œ ์ˆœ์„œ๊ฐ€ ์ฒ˜์Œ๊ณผ ๋ฐ˜๋Œ€๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค.)

+ ๋งŒ์•ฝ์— ๊ธฐ์กด ๋ฐฐ์—ด์„ ๋ณ€ํ˜•์‹œํ‚ค์ง€์•Š๊ณ , ์›์†Œ ์ˆœ์„œ๋ฅผ ๋ฐ”๊พผ ์ƒˆ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด๋‚ด๊ณ  ์‹ถ๋‹ค๋ฉด, toReversed() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ.

 

(๊ธฐ์กด) ๋ฐฐ์—ด ์›์†Œ ์ˆœ์„œ๋ฅผ ๋’ค์ง‘๋Š” reverse() , ๊ธฐ์–ตํ•ด๋‘๊ธฐ!!

 

 

2) for๋ฌธ๊ณผ push() - ๋‚ด ๋ฐฉ๋ฒ•๊ณผ ์œ ์‚ฌ

function solution(num_list) {
    var answer = [];
    var j = num_list.length
    for(var i = 1; i <= j; i++){
        answer.push(num_list[j-i])
    }
    return answer;
}

 

๋‚ด ๋ฐฉ๋ฒ•๊ณผ ๊ฑฐ์˜ ์œ ์‚ฌํ•˜๊ฒŒ for๋ฌธ๊ณผ push ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ

for๋ฌธ์˜ ์„ธ ์‹ (๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”์‹, ์กฐ๊ฑด์‹, ์ฆ๊ฐ์‹) ์„ ํ†ตํ•ด push ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋Œ€๋กœ? ์จ์ค€ ํ’€์ด.

๊ทผ๋ฐ ๋‚ด ํ’€์ด์— ๋น„ํ•ด์„œ ๋ฐ”๋กœ ์ดํ•ด๋˜์ง„ ์•Š์•˜๋‹ค. (๋‚ด ํ’€์ด๊ฐ€ ์•„๋‹ˆ๋‹ˆ๊นŒ ๊ทธ๋ ‡...ใ…Ž)

์—ฌํŠผ, for๋ฌธ ๋ฐ˜๋ณต์‹œํ‚ค๋Š” ๋ณ€์ˆ˜(i) ๊ฐ€ 1, 2, ... num_list.length ๊นŒ์ง€ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ   num_list[ length - ๋ณ€์ˆ˜ ] ์ด๋Ÿฐ ์‹์œผ๋กœ ๋นผ์„œ ๊ฑฐ๊พธ๋กœ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

 

3) sort() ๋กœ ๊ฑฐ๊พธ๋กœ ์ •๋ ฌ

function solution(num_list) {
    return num_list.sort((a, b) => -1);
}

 

sort ๋ฐฐ์—ด ์ •๋ ฌ ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ.  -1 ์Œ์ˆ˜, ๊ฑฐ๊พธ๋กœ ์ •๋ ฌ. 

 

4) forEach๋ฌธ๊ณผ unshift()

function solution(num_list) {
    var answer = [];
    num_list.forEach(i => answer.unshift(i))
    return answer
}

 

forEach ๋ฌธ์œผ๋กœ ๋ฐฐ์—ด์˜ ์›์†Œ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ์ƒˆ ๋ฐฐ์—ด์— unshift ๋ฉ”์„œ๋“œ๋กœ ๋‹ด์•„์ค€๋‹ค. 

unshift ๋ฉ”์„œ๋“œ๋Š” (push์™€ ๋‹ฌ๋ฆฌ) ๋ฐฐ์—ด์˜ ๋งจ ๋์ด ์•„๋‹Œ ์ฒ˜์Œ์— ์›์†Œ๋ฅผ ๋‹ด์Œ. 

๊ฒฐ๊ตญ num_list ์˜ ์ฒซ ์›์†Œ๋Š” answer ๋ฐฐ์—ด์˜ ๋งจ ๋์œผ๋กœ ๋ฐ€๋ ค๋‚˜๊ฒŒ ๋˜๊ณ , ๋งจ ๋ ์›์†Œ๊ฐ€ answer ๋ฐฐ์—ด์˜ ๋งจ ์ฒ˜์Œ (index 0)์— ์˜ค๊ฒŒ ๋˜๋‹ˆ ๊ฑฐ๊พธ๋กœ ๋‹ด์€ ๊ฒƒ๊ณผ ๋˜‘๊ฐ™๋‹ค. 

SMALL

'๐Ÿชด JavaScript & TypeScript > ๐Ÿงฉ Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž…๋ฌธ : 2์ฐจ์›์œผ๋กœ ๋งŒ๋“ค๊ธฐ  (0) 2024.11.07
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ž…๋ฌธ : ์ œ๊ณฑ์ˆ˜ ํŒ๋ณ„ํ•˜๊ธฐ (Math.sqrt)  (0) 2024.09.18
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_ ์ž…๋ฌธ : ๋ฐฐ์—ด์˜ ์œ ์‚ฌ๋„ (Array.filter, includes ๋ฉ”์„œ๋“œ)  (0) 2024.08.21
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ž…๋ฌธ : ์ง์ˆ˜๋Š” ์‹ซ์–ด์š” (๊ฐ„๋‹จ for๋ฌธ, Array.from ๋“ฑ ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ)  (0) 2024.08.05
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด (filter, sort, ์‚ผํ•ญ์—ฐ์‚ฐ์ž)  (0) 2024.03.05
  1. โ“ ๋ฌธ์ œ
  2. ๐Ÿช„ ๋‚ด ์ฝ”๋“œ
  3. ๐Ÿงธ ๋‹ค๋ฅธ ํ’€์ด  
  4. 1) reverse() - ๊ฐ€์žฅ ๊ฐ„๋‹จ
  5. 2) for๋ฌธ๊ณผ push() - ๋‚ด ๋ฐฉ๋ฒ•๊ณผ ์œ ์‚ฌ
  6. 3) sort() ๋กœ ๊ฑฐ๊พธ๋กœ ์ •๋ ฌ
  7. 4) forEach๋ฌธ๊ณผ unshift()
'๐Ÿชด JavaScript & TypeScript/๐Ÿงฉ Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž…๋ฌธ : 2์ฐจ์›์œผ๋กœ ๋งŒ๋“ค๊ธฐ
  • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ž…๋ฌธ : ์ œ๊ณฑ์ˆ˜ ํŒ๋ณ„ํ•˜๊ธฐ (Math.sqrt)
  • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_ ์ž…๋ฌธ : ๋ฐฐ์—ด์˜ ์œ ์‚ฌ๋„ (Array.filter, includes ๋ฉ”์„œ๋“œ)
  • [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_์ž…๋ฌธ : ์ง์ˆ˜๋Š” ์‹ซ์–ด์š” (๊ฐ„๋‹จ for๋ฌธ, Array.from ๋“ฑ ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ)
๋ จ๋””
๋ จ๋””
FE - ๊ฐœ๋ฐœ ๊ณต๋ถ€์˜ ๊ธฐ๋ก
Ryeon's DevstoryFE - ๊ฐœ๋ฐœ ๊ณต๋ถ€์˜ ๊ธฐ๋ก
  • ๋ จ๋””
    Ryeon's Devstory
    ๋ จ๋””
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (69)
      • ๐Ÿชด JavaScript & TypeScript (11)
        • ๐Ÿงฉ Algorithm (6)
      • ๐Ÿชด React (12)
      • ๐Ÿชด Next.js (8)
      • ๐Ÿชด HTML & CSS (2)
      • ๐Ÿชด DB & BaaS (5)
      • ๐Ÿชด Git &Github (0)
      • โœ๏ธ ํ”„๋กœ์ ํŠธ ๊ณผ์ • & ํšŒ๊ณ  (18)
      • โœ๏ธ Today what I Learned _T.. (11)
      • ๐Ÿ•Š๏ธ IT ์•„ํ‹ฐํด (0)
      • etc. (2)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • My Github ๐Ÿ˜บ
    • ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ ๐ŸŽต๐ŸŽง (์ผ์ƒ,์Œ์•… ๋“ฑ)
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    Vite
    props
    ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ
    BAAS
    ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ
    ์ปดํฌ๋„ŒํŠธ๋ถ„๋ฆฌ
    useEffect
    tailwind
    ์—๋Ÿฌ
    NVM
    reacthook
    ์˜ค๋ธ”์™„
    axios
    Next.js
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    json-server
    Supabase
    ๋น„๋™๊ธฐํ†ต์‹ 
    ์˜์กด์„ฑ๋ฐฐ์—ด
    route handler
    ๋ Œ๋”๋งํŒจํ„ด
    ์›น๊ฐœ๋ฐœ ๊ธฐ์ดˆ
    useMutation
    react
    ํ‹ฐ์Šคํ† ๋ฆฌ๋ธ”๋กœ๊ทธ์Šคํ‚จ
    ๋ฆฌ์•กํŠธ์ฟผ๋ฆฌ
    Array.filter
    State
    fetch
    reactquery
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
๋ จ๋””
[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_ ์ž…๋ฌธ : ๋ฐฐ์—ด ๋’ค์ง‘๊ธฐ (Array.reverse, unshift ๋“ฑ)

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ
์ƒ๋‹จ์œผ๋กœ

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

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.