컴공생의 다이어리
[파이썬, Python] 백준 10986번 : 나머지 합 본문
백준 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
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[프로그래머스] 올바른 괄호 - 파이썬(Python) (0) | 2022.07.27 |
---|---|
[프로그래머스] 같은 숫자는 싫어 - 파이썬(Python) (0) | 2022.07.26 |
[파이썬, Python] 백준 20040번 : 사이클 게임 (0) | 2022.07.23 |
[파이썬, Python] 백준 1916번 : 최소비용 구하기 (0) | 2022.07.20 |
[파이썬, Python] 백준 9421번 : 소수상근수 (0) | 2022.07.19 |
Comments