본문 바로가기
배움 기록/코테 연습

[프로그래머스] 빈 배열에 추가, 삭제하기 : JavaScript

by dygreen 2025. 2. 17.

📌 문제

 

📌 풀이

function solution(arr, flag) {
    let X = [];
    arr.forEach((num, i) => {
        if (flag[i]) {
            X = X.concat(Array(num * 2).fill(num));
        } else {
            X.splice(-num, num);
        }
    })
    
    return X
}
  • Array() : 새로운 Array 를 생성할 때 사용한다.
    Array(n)은 길이가 n인 배열을 만든다.
  • fill() : Array.prototype.fill(n)에서 n은 배열을 채울 값이다.
    즉, Array(n).fill(n) 은 길이가 n인 배열을 만들고, 배열의 모든 요소를 n으로 채우겠다는 의미이다.
  • concat() : 두 개 이상의 배열을 병합하는 데 사용된다. 기존 배열을 변경하지 않고, 새 배열을 반환한다.
    즉, X와 Array(num * 2).fill(num) 배열을 병합하는 것이다.
  • splice() : splice 의 start가 음수인 경우 배열의 끝에서부터 요소를 세어나간다.
    따라서, 끝에서부터 num번째 요소에서 num개를 제거하게 되는 것이다.

 

 

728x90

댓글