반응형
문제 설명
- 문제: 주어진 정수 배열에서 연속적으로 나타나는 세 개의 홀수가 있는지 확인하세요. 만약 그런 경우가 존재한다면
true
를 반환하고, 그렇지 않으면false
를 반환하세요. - 설명: 입력으로 주어진 정수 배열을 검사하여 연속적으로 나타나는 세 개의 홀수가 있는지 판단합니다. 배열 내의 각 숫자는 양수이며 배열의 길이는 최대 1000입니다.
접근 방식
- 아이디어: 배열을 순회하면서 각 요소가 홀수인지 검사하고, 연속적인 홀수의 개수를 셉니다. 연속된 홀수의 개수가 3이 되면
true
를 반환하고, 그렇지 않으면false
를 반환합니다. - 알고리즘:
- 배열을 순회하면서 각 요소가 홀수인지 확인합니다.
- 홀수인 경우 연속된 홀수(count)의 개수를 증가시키고, 그렇지 않으면 개수를 초기화합니다.
- 연속된 홀수(count)의 개수가 3이 되면
true
를 반환합니다. - 배열의 끝까지 확인했음에도 연속된 홀수(count)가 3개가 되지 않으면
false
를 반환합니다.
코드
class Solution {
public boolean threeConsecutiveOdds(int[] arr) {
int count=0;
for(int val : arr){
if(val %2 != 0) count++;
else count=0;
if(count==3) return true;
}
return false;
}
}
결론
- 시간 복잡도: 주어진 배열을 한 번 순회하기 때문에 시간 복잡도는 O(n)입니다. 여기서 n은 배열의 길이입니다.
- 공간 복잡도: 추가적인 공간을 사용하지 않기 때문에 공간 복잡도는 O(1)입니다.
반응형
'leetcode 문제 풀이' 카테고리의 다른 글
LeetCode 1823. Find the Winner of the Circular Game 자바 문제 풀이 (0) | 2024.07.09 |
---|---|
LeetCode 2181. Merge Nodes in Linked List 자바 문제 풀이 (0) | 2024.07.07 |
LeetCode 1509. Minimum Difference Between Largest and Smallest Value in Three Moves 자바 문제 풀이 (0) | 2024.07.05 |
LeetCode 2319. Check if Matrix Is X-Matrix 자바 문제 풀이 (0) | 2024.07.04 |
LeetCode 350. Intersection of Two Arrays II 자바 문제 풀이 (0) | 2024.07.02 |