문제출저 :
https://programmers.co.kr/learn/courses/30/lessons/68646
코딩테스트 연습 - 풍선 터트리기
[-16,27,65,-2,58,-92,-71,-68,-61,-33] 6
programmers.co.kr
소스코드 :
// 양쪽 풍선의 최소값이 둘 다 작으면 마지막까지 남을 수 없다.
import java.util.*;
class Solution {
public int solution(int[] a) {
int answer = 0;
int n = a.length;
if(n == 1)
return 1;
int[] left = new int[n];
int[] right = new int[n];
int lnum = a[0];
int rnum = a[n - 1];
left[0] = a[0];
right[n-1] = a[n-1];
for(int i = 1; i < n; i++)
{
if(lnum > a[i]) lnum = a[i];
left[i] = lnum;
}
for(int i = n-2; i >= 0; i--)
{
if(rnum > a[i]) rnum = a[i];
right[i] = rnum;
}
// System.out.println(Arrays.toString(left));
// System.out.println(Arrays.toString(right));
for(int i = 0; i < n; i++)
{
if(a[i] > left[i] && a[i] > right[i]) continue;
else
answer += 1;
}
return answer;
}
}