오늘도 개발

0. Max Consecutive Ones 본문

자료구조 & 알고리즘/Leetcode

0. Max Consecutive Ones

Sueeeeeee 2022. 5. 6. 12:35

문제

이진수로 이루어진 nums 배열을 인수로 받는다.

이 중 가장 긴 1의 반복 횟수를 구하시오.

Input: nums = [1,1,0,1,1,1]
Output: 3

 

내가 생각한 방식

최대 반복된 횟수를 알 수 있도록 max 변수 만들어서 비교, 반복된 횟수가 가장 많은 경우 max에 저장

// c++
class Solution {
public:
    int findMaxConsecutiveOnes(vector<int>& nums) {
        int count = 0; 
        int max = 0;
        
        for (int n : nums){
            if (n==1){
                count++;
                if (max < count) max = count;
            }
                else count = 0;
            }
        return max;
    }
    
    
};
# python
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
    count = 0
    maximum = 0

    for num in nums:
        if num == 1:
            count += 1
            maximum = max(maximum, count)

        else:
            count = 0

    return maximum