8.26
์ฝํ ์ ๋ฌธ ๋ฌธ์ - ๋ฐฐ์ด ๋ค์ง๊ธฐ
๊ฐ๋จํ ํ ์ ์์ง๋ง ์๊ฐ๋ณด๋ค ํ์ด๊ฐ ๋ค์ํ ๋ฌธ์ ์๋ค!
โ ๋ฌธ์
์ ์๊ฐ ๋ค์ด ์๋ ๋ฐฐ์ด 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)์ ์ค๊ฒ ๋๋ ๊ฑฐ๊พธ๋ก ๋ด์ ๊ฒ๊ณผ ๋๊ฐ๋ค.