1004 문제와 동일한 방식으로 풀었고 Sliding Window를 이용해서 풀되 하나의 요소를 삭제하면 더 긴 subarray를 만들 수 있기 때문에 조건을 잘 체크해야한다.
개인적으로는 1493번을 먼저 풀고 1004번을 푸는 것이 좋을 것 같다.
class Solution {
public int longestSubarray(int[] nums) {
int num = 0;
int start = 0;
int index = 0;
int max = 0;
while(index < nums.length) {
if (nums[index] == 0) {
if (num == 1) {
while(nums[start++] == 1) {}
} else {
num += 1;
}
}
index += 1;
if (index - start > max) {
max = index - start;
}
}
if (max == 0) {
return max;
}
return max - 1;
}
}
'코딩테스트' 카테고리의 다른 글
[leetcode] 162. Find Peak Element (0) | 2024.06.28 |
---|---|
[leetcode] 2352. Equal Row and Column Pairs (0) | 2024.06.26 |
[leetcode] 1004. Max Consecutive One III (0) | 2024.06.25 |
[leetcode] 1456.Maximum Number of Vowels in a Substring of Given Length (0) | 2024.06.24 |
[leetcode] 2336. Smallest Number in Infinite Set (0) | 2024.06.18 |