[프로그래머스] '풍선 터트리기' 문제 자바스크립트 알고리즘

김대운·2022년 6월 14일
0
post-thumbnail

[프로그래머스] '풍선 터트리기' 문제 자바스크립트 알고리즘


https://programmers.co.kr/learn/courses/30/lessons/68646

Q. 풍선 터트리기[Level-3]


문제1

문제2

참고사항


숫자 세개가 있을때 가운데 숫자가 앞의 숫자나 뒤의 숫자보다 작으면 살아남을 수 있음
1 2 3 가능 , 2 1 3 가능, 1 3 2 불가능
맨 앞과 맨 뒤는 무조건 제외 가능

  • 코드
function solution(a) {
    let fMin = a[0]; // 앞에서부터 작은 값  
    let bMin = a[a.length-1]; // 뒤에서 부터 작은 값 
    let alive = [];
    for(let i=1; i<a.length-1; i++){
        if(a[i]<fMin){
            alive.push(a[i]); // a[i]가 앞에서부터 작은 값보다 작다면 살 수 있음.
            fMin=a[i]    // 제일 작은값 변경
        }       
    }
    for(let i =a.length-2; i>0; i--){
        if(a[i]<bMin){
            alive.push(a[i]);
            bMin = a[i];
        }
    }
    return [...new Set([...alive])].length+2; // 중복제거 후 개수 + 맨 앞과 맨 뒤
}

0개의 댓글