๋ฌธ์
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ด ํ์ด
1. for ๋ฐ๋ณต๋ฌธ๊ณผ if ์กฐ๊ฑด๋ฌธ์ ์ด์ฉํด ๋ฐฐ์ด์ ์์๋ฅผ ํ์นธ์ฉ ๋ก๊ธฐ๊ฑฐ๋(direction:left) ๋ฐ๋ฉด์(direction: right) ์ฌ๋ฐฐ์ดํด์ฃผ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ.
2. ๋ฐฐ์ด์ ๋งจ ์ / ๋งจ ๋ค ์์๋ ๋ฐ๋ณต๋ฌธ ์์ ์ ์ ๋ฐ๋ก ๋ณ์๋ก ๋นผ๋์ฃผ๊ณ ๋ง์ง๋ง์ ๊ทธ ์์๋ฅผ ๋ฃ์ด์ฃผ๋ ๊ฒ์ผ๋ก ์ฒ๋ฆฌํจ.
function solution(numbers, direction) {
if (direction == "right") {
var last = numbers[numbers.length-1];
for (var i = numbers.length-1; i>=0; i--) {
numbers[i] = numbers[i-1];
}
numbers[0] = last;
}
if (direction == "left") {
var first = numbers[0];
for (var i = 0; i<numbers.length; i++) {
numbers[i] = numbers[i+1];
}
numbers[numbers.length-1] = first;
}
return numbers;
}
๋ค๋ฅธ์ฌ๋ ํ์ด
function solution(numbers, direction) {
var answer = [];
if ("right" == direction) {
numbers.unshift(numbers.pop()); // [numbers.pop() = numbers์ ๋งจ ๋ค์ ์๋ ์์] ์๋ฅผ number.unshift๋ฅผ ํตํด ๋งจ ์ ์์๋ก ์ถ๊ฐํด์ค๋ค!
} else {
numbers.push(numbers.shift());
}
answer = numbers;
return answer;
}
์ด๋ฐ์์ผ๋ก unshift, pop, shift๋ฅผ ์ด์ฉํด์ ํ ์๋ ์์๋ค....!
์ด์ํ๊ฒ.. push๋ ์์ฃผ ์ฌ์ฉํ๋๋ฐ shift ๋ผ๋ ๋ฌธ๋ฒ์ ์ ์ฌ์ฉ์ ์ ํ์ด์... ์ด๋ฐ ํ์ด๋ ์๊ฐ๋ ๋ชปํจ ใ ใ
.push() / .shift() / .unshift() / .pop()
๋ฐฐ์ด.push() ์ด๋ฐ์์ผ๋ก ์ฌ์ฉํ๊ณ ,
๋ชจ๋ ๊ธฐ์กด์ ๋ฐฐ์ด์ ๋ณํ์ ๊ฐํ๋ ๊ฒ์ด๋ค!
(์๋ก์ด ๋ค๋ฅธ ๋ฐฐ์ด๋ก ๋ฐํ x)
1. ๋ฐฐ์ด์ ๊ฐ ์ถ๊ฐํ๊ธฐ
.push(์ถ๊ฐํ ์์) : ๋ฐฐ์ด์ ๋งจ ๋ค์ ์์๋ฅผ ์ถ๊ฐํ๋ค. (๋ฐฐ์ด์ ๊ธธ์ด +1)
.unshift(์ถ๊ฐํ ์์) : ๋ฐฐ์ด์ ๋งจ ์์ ์์๋ฅผ ์ถ๊ฐํ๋ค. (๋ฐฐ์ด์ ๊ธธ์ด +1 and ๋ฐฐ์ด์ด ํ์นธ์ฉ ๋ฐ๋ฆฌ๊ฒ ์ ธ?!)
2. ๋ฐฐ์ด์ ๊ฐ ์ ๊ฑฐํ๊ธฐ
.pop() : ๋ฐฐ์ด ๋งจ ๋์ ์์๋ฅผ ์ ๊ฑฐํ๋ค.
.shift() : ๋ฐฐ์ด ๋งจ ์์ ์์๋ฅผ ์ ๊ฑฐํ๋ค.
numbers.pop() : ์ด๋ ๊ฒ ํ๋ฉด ๊ธฐ์กด ๋ฐฐ์ด numbers์ ๋งจ ๋ค ์์๋ฅผ ๋ฐํํ๊ณ , ๋ฐฐ์ด์์ ์ญ์ ํ๋ค.
numbers.shift() : ๊ธฐ์กด ๋ฐฐ์ด numbers์ ๋งจ ์ ์์๋ฅผ ๋ฐํํ๊ณ , ๋ฐฐ์ด์์ ์ญ์ ํ๋ค.