number sequence가 인풋으로 들어온다.
해당 sequence에서 한개의 숫자만 지웠을때 strictly increasing이 될 수 있는지 확인한다
💡 현재 숫자가 이전숫자보다 작을 때: drop할 숫자를 일단 찾았다
1. 현재 숫자가 전전숫자보다 크다면 이전 숫자를 삭제해주면 된다
2. 현재 숫자가 전전숫자보다 작다면 현재 숫자가 삭제되어야 한다
bool solution(vector<int> sequence) {
int n = sequence.size();
int remove_count = 0;
if (sequence[0] >= sequence[1]) remove_count++;
for (int i = 2; i < n; i++) {
if (sequence[i-1] >= sequence[i]) {
remove_count++;
if (sequence[i-2] >= sequence[i])
// 편의를 위해 이렇게 해주면 이후의 loop에서는 계속 remove_count가 올라가기때문에 False가 최종적으로 return 되는 것을 알 수 있다.
sequence[i] = sequence[i-1];
}
}
return remove_count < 2;
}