알고리즘 풀이/프로그래머스

[프로그래머스][JAVA] 풍선 터뜨리기 (시뮬레이션)

배게 2021. 10. 22. 20:00
728x90

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Solution {
    public int solution(int[] a) {
        int len = a.length;
        if(a.length<=2return a.length;
        
        int[] leftMin = new int[len];
        int[] rightMin = new int[len];
        
        int minTemp = Integer.MAX_VALUE;
        for(int i=0; i<len; i++){
            minTemp = Math.min(minTemp, a[i]);
            leftMin[i] = minTemp;
        }
        
        minTemp = Integer.MAX_VALUE;
        for(int i=len-1; i>=0; i--){
            minTemp = Math.min(minTemp, a[i]);
            rightMin[i] = minTemp;
        }
        
        int answer = 2;
        for(int i=1; i<len-1; i++){
            if!(leftMin[i-1]<a[i] && rightMin[i+1]<a[i]) )
                answer++;
        }
        return answer;
    }
}
cs