컴공생의 다이어리

[파이썬, Python] 백준 10986번 : 나머지 합 본문

Development/Algorithm & Coding Test

[파이썬, Python] 백준 10986번 : 나머지 합

컴공 K 2022. 7. 24. 00:01

백준 10986번 : 나머지 합

(문제 바로가기)

 

 

내 코드

import sys

input = sys.stdin.readline
n, m = map(int, input().split())  # n : 숫자 갯수, m : 나눌 수 
num = list(map(int, input().split())) + [0]  # 숫자 입력
r = [0] * m  # 누적합을 m으로 나눴을 때의 나머지가 index이고 그 값에 count

for i in range(n):
    num[i] += num[i - 1]  # 숫자 정보를 누적합으로 갱신
    r[num[i] % m] += 1  # 해당 누적합을 m으로 나눴을 때의 나머지에 해당하는 값에 1추가

cnt = r[0]  # 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수

for i in r:
    cnt += i * (i - 1) // 2

print(cnt)

 

 

728x90
Comments