2023-10-14-동국대SW역량강화캠프-4093. 평균이 들어있는 구간 구하기
문제
윌리는 N개의 숫자에 대해서 아래 조건을 만족하는 구간의 개수를 구하려 한다.
윌리는 (i, j)구간을 선택하려고 하며 (1≤i≤j≤N) 이 구간은 i와 j를 포함하는 구간이다.
이 구간에 포함된 수들의 평균을 “평균 수”라고 하자.
(i, j)구간 안에 “평균 수” 가 들어있다면 조건을 만족하는 구간이고, 들어있지 않다면 조건을 만족하지 않는 구간이다.
위 조건을 만족하는 구간의 수를 출력하자.
첫 번째 예제에서는 (1, 1), (2, 2), (3, 3), (4, 4), (1, 2), (2, 4) 구간이 조건을 만족한다.
입력
첫째줄에 수의 개수를 나타내는 양의 정수 N이 주어진다. 1≤N≤100
둘째 줄에는 배열을 구성하고 있는 양의 정수 a(i)가 N개 주어진다. 1≤a(i)≤1000
출력
조건을 만족하는 구간의 수를 출력하자.
예제 1 입력
4
1 1 2 3
예제 1 출력
6
Source
n = int(input())
arr = list(map(int, input().split()))
cnt = 0
for i in range(n):
for j in range(n):
_sum = 0
check = False
for k in range(i, j + 1):
_sum += arr[k]
for k in range(i, j + 1):
# _sum / (j - i + 1) == arr[k]
if(_sum == arr[k] * (j - i + 1)):
check = True
break
if(check):
cnt += 1
print(cnt)