[코.기.트] 빈 배열에 추가, 삭제하기

리프·2023년 5월 9일
0

프로그래머스

목록 보기
11/29


코드

function solution(arr, flag) {
    var answer = [];
    for(let i=0; i<flag.length; i++) {
        if(flag[i]==true) {
            for(let j=0; j<arr[i]*2; j++) {
                answer.push(arr[i])
            }
        } else {
            for(let j=0; j<arr[i]; j++) {
                answer.pop()
            }
        }
    }
    return answer;
}

설명

i for문은 배열 flag의 길이만큼 순회한다. i번째 인덱스가 true라면 인덱스 값의 두 배만큼 해당 인덱스 값을 answer에 저장한다. 아니라면 인덱스 값만큼 answer의 끝 인덱스를 삭제한다.

코드가 너무 직관적인 거 같아서, 좀 더 효율적인 방법으로 풀 수 없을까 고민 중...

profile
프론트엔드 개발자가 되고 싶은 대학생의 공부 기록입니다.

0개의 댓글