๋ฌธ์ œ

 

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

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

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์˜ ๋งจ ์•ž ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๋ฐฐ์—ด์—์„œ ์‚ญ์ œํ•œ๋‹ค.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts