[알고리즘 ] 배열에서 연속된 값들의 최대값 찾기

이승연·2021년 9월 1일
0

Algorithm

목록 보기
5/5
checked_list = [
    [True, True, False, True, True, True, True],
    [True, True, False, True, True, False, True],
    [True, True, True, False, True, True, True],
    [False, False, False, False, False, False, False],
    [True, False, True, False, True, False, False]
]

for checked in checked_list:
    succession_days_list = []
    days = 0
    for day in range(0, len(checked)):
        if checked[day]:
            days += 1
            if day == len(checked)-1:
                succession_days_list.append(days)
        else:
            succession_days_list.append(days)
            days = 0

    print(succession_days_list, max(succession_days_list))
const getConsecutiveTargetCount = (arr, target) => {
  let length = 0;
  const res = [];
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] === target) {
      length++;
      if (i === arr.length - 1) res.push(length);
    } else {
      res.push(length);
      length = 0;
    }
  }
  return Math.max(...res);
};

0개의 댓글