📌 LeetCode [1550]: Three Consecutive Odds
🔗 문제 링크
문제 설명 📄
주어진 배열 arr
에서 3개의 연속된 홀수를 찾는 문제입니다.
연속된 홀수가 발견되면 True
를 반환하고, 없으면 False
를 반환합니다.
문제 접근 방식 📋
- 조건 검사:
- 배열을 순회하며 각 숫자가 홀수인지 확인합니다.
- 홀수라면 카운트를 증가시키고, 짝수를 만나면 카운트를 초기화합니다.
- 결과 반환:
- 카운트가 3에 도달하면 즉시
True
를 반환합니다. - 순회가 끝날 때까지 조건을 만족하지 않으면
False
를 반환합니다.
- 카운트가 3에 도달하면 즉시
Solution 💻
class Solution:
def threeConsecutiveOdds(self, arr: List[int]) -> bool:
answer = 0
for s in arr:
if s % 2 == 1:
answer += 1
else:
answer = 0
if answer == 3:
return True
return False
시간 복잡도 ⏲️
- 배열의 길이를 (n)이라 할 때, 전체 배열을 한 번 순회하므로 (O(n)).
공간 복잡도 🗄️
- 추가적인 저장 공간 없이 변수만 사용하므로 (O(1)).
'알고리즘 > 리트코드' 카테고리의 다른 글
LeetCode [1331]: Rank Transform of an Array (0) | 2024.12.02 |
---|---|
LeetCode [1331]: Rank Transform of an Array (0) | 2024.12.01 |
LeetCode [1380]: Lucky Numbers in a Matrix (0) | 2024.12.01 |
LeetCode [1636]: Sort Array by Increasing Frequency (0) | 2024.12.01 |
LeetCode [424]: Longest Repeating Character Replacement (0) | 2024.12.01 |