Algorithm
Level 0
181860

181860

Link

https://school.programmers.co.kr/learn/courses/30/lessons/181860 (opens in a new tab)

Answer

JavaScript

function solution(arr, flag) {
  return arr.reduce(
    (prev, num, i) =>
      flag[i]
        ? [...prev, ...new Array(num * 2).fill(num)]
        : prev.slice(0, -num),
    []
  );
}
function solution(arr, flag) {
  let X = [];
  flag.forEach((el, index) => {
    if (el) {
      for (let i = 0; i < arr[index] * 2; i++) {
        X.push(arr[index]);
      }
    } else if (!el) {
      for (let i = 0; i < arr[index]; i++) {
        X.pop();
      }
    }
  });
 
  return X;
}