본문 바로가기
Javascript/코딩테스트-연습

[JavaScript] 컨트롤 제트 - 프로그래머스

by BeomBe 2024. 4. 1.
반응형

문제 설명

출처 - https://school.programmers.co.kr/learn/courses/30/lessons/120853

 

나의 풀이

Z를 찾아, 이전 인덱스와 함께 삭제

function solution(s) {
    s = s.split(" ")

    while(s.includes('Z')) {
        s.splice(s.indexOf('Z')-1,2)
    }

    return s.reduce((a,b) => a+Number(b), 0)
}

 

다른사람의 풀이

스택처럼 해결한 답변이 있어 가져왔다.

기발하다...

function solution(s) {
    const stack = []

    s.split(' ').forEach((target) => {
        if(target === 'Z') stack.pop();
        else stack.push(+target)
    })

    return stack.length ? stack.reduce((pre, cur) => pre + cur) : 0;
}

 

스택에 대한 설명이 필요하신분은 제 포스팅글인 아래를 참고해주세요.

 

2023.11.24 - [Javascript/자료구조] - [Javascript] 자료구조 - 스택(stack)

 

[Javascript] 자료구조 - 스택(stack)

스택 : 먼저 들어온 데이터가 나중에 나가는 자료구조 새로운 원소를 삭제할 때는 마지막 원소가 삭제 전체 연산: 삽입 3 - 삽입 5 - 삭제 - 삽입 1 - 삭제 - 삽입 8 - 삽입 9 => 3, 8, 9 연산 시간 복잡도

beombe.tistory.com

 

반응형