Muscardinus

풍선 터트리기 본문

알고리즘 문제/[프로그래머스] Lv3

풍선 터트리기

Muscardinus 2021. 2. 12. 19:41
728x90

programmers.co.kr/learn/courses/30/lessons/68646?language=javascript

 

코딩테스트 연습 - 풍선 터트리기

[-16,27,65,-2,58,-92,-71,-68,-61,-33] 6

programmers.co.kr

C++

#include <string>
#include <vector>

using namespace std;

int solution(vector<int> a) {
    int answer = 2;
    vector<int> l(a.size(), 0), r(a.size(), 0);
    l[0] = a[0]; r[a.size() - 1] = a[a.size() - 1];
    for(int i = 1; i < a.size(); i++) l[i] = min(a[i], l[i - 1]);
    for (int i = a.size() - 2; i >= 0; i--) r[i] = min(a[i], r[i + 1]);
    for (int i = 1; i < a.size() - 1; i++) {
        if (a[i] < max(l[i - 1], r[i + 1])) answer++;
    }
    return answer++;
}

JS

function solution(a) {
    let p = [];
    let j = [];
    let leftMin = a[0];
    let rightMin = a[a.length - 1];
    for (let i = 1; i < a.length - 1; i++) {
        if (leftMin > a[i]) {
            leftMin = a[i];
            p.push(a[i]);
        }
        if (rightMin > a[a.length - 1 - i]) {
            rightMin = a[a.length - 1 - i];
            j.push(a[a.length - 1 -i]);
        }
    }
    return [...new Set([...p, ...j])].length + 2;
}
728x90

'알고리즘 문제 > [프로그래머스] Lv3' 카테고리의 다른 글

베스트 앨범  (0) 2021.02.14
섬 연결하기  (0) 2021.02.13
N으로 표현  (0) 2021.02.12
[프로그래머스] 여행경로 (Lv3)  (0) 2020.09.09
[프로그래머스] 단어변환 (Lv3)  (0) 2020.09.08
Comments