[Bronze IV] 당구 좀 치자 제발 - 32642

문제 링크

성능 요약

메모리: 135828 KB, 시간: 128 ms

분류

수학, 구현, 사칙연산

제출 일자

2026년 04월 25일 22:04:59

문제 설명

동우는 수호와 당구를 치고 싶다. 하지만 수호는 극한의 집 돌이라 절대 나오지 않으려 한다.

동우 : 아니 형 좀 나오라고 제발

수호 : 비 안 오면 갈게 ㅋㅋ

동우는 앞으로 $N$일 동안의 날씨를 확인해 보려고 한다. 비가 오는 날에는 동우가 수호와 당구를 칠 수 없기 때문에 분노가 쌓인다. 동우의 현재 분노는 $0$이다. 동우는 하루에 한 번 비가 오는지 확인을 하고, 비가 온다면 동우의 분노가 $1$ 만큼 증가하고, 오지 않는다면 $1$ 만큼 감소한다. 분노는 음수가 될 수 있다.

$1$일 차부터 $N$일 차까지의 동우의 분노의 합을 구해 동우가 화병을 예방할 수 있도록 도와주자.

입력

첫 번째 줄에 정수 $N$이 주어진다. $(1 \le N \le 200\,000)$

두 번째 줄에 $N$일의 동안의 날씨가 공백으로 구분되어 주어진다. 비가 오는 날은 $1$, 오지 않는 날은 $0$이다.

출력

$1$일 차부터 $N$일 차까지의 분노의 합을 출력한다.


💡 해결 방법

💻 코드

# https://www.acmicpc.net/problem/32642
 
n = int(input())
rage = 0
 
l = list(map(int, input().split()))
ans = 0
 
for i in range(n):
    if l[i] == 1:
        rage += 1
    else:
        rage -= 1
        
    ans += rage
    
print(ans)