[백준/Gold III] 나머지 합 - 10986

2024. 10. 19. 18:45·코딩 테스트 정복기/백준
목차
  1. 성능 요약
  2. 분류
  3. 제출 일자
  4. 문제 설명
  5. 입력
  6. 출력
반응형

[Gold III] 나머지 합 - 10986

문제 링크

성능 요약

메모리: 244256 KB, 시간: 752 ms

분류

수학, 누적 합

제출 일자

2024년 10월 14일 17:22:27

문제 설명

수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오.

즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) 쌍의 개수를 구해야 한다.

입력

첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 106, 2 ≤ M ≤ 103)

둘째 줄에 N개의 수 A1, A2, ..., AN이 주어진다. (0 ≤ Ai ≤ 109)

출력

첫째 줄에 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 출력한다.

import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
long m = Integer.parseInt(br.readLine().split(" ")[1]);
long[] arr = Arrays.stream(br.readLine().split(" ")).mapToLong(Long::parseLong).toArray();
Map<Long, Integer> map = new HashMap<>();
long sum = 0;
for(long n : arr) {
sum = (sum+n)%m;
map.put(sum, map.getOrDefault(sum, 0) + 1);
}
long answer = 0, cnt;
for(long key : map.keySet()) {
cnt = map.get(key);
if(key == 0){cnt++;}
answer += cnt*(cnt-1)/2;
}
System.out.println(answer);
}
}
728x90
반응형

'코딩 테스트 정복기 > 백준' 카테고리의 다른 글

[백준/Gold V] 토마토 - 7576  (0) 2024.10.20
[백준/Gold V] 평범한 배낭 - 12865  (4) 2024.10.20
[백준/Silver IV] ATM - 11399  (1) 2024.10.18
[백준/Gold V] Z - 1074  (0) 2024.10.16
[백준/Silver I] 쉬운 최단거리 - 14940  (0) 2024.10.16
  1. 성능 요약
  2. 분류
  3. 제출 일자
  4. 문제 설명
  5. 입력
  6. 출력
'코딩 테스트 정복기/백준' 카테고리의 다른 글
  • [백준/Gold V] 토마토 - 7576
  • [백준/Gold V] 평범한 배낭 - 12865
  • [백준/Silver IV] ATM - 11399
  • [백준/Gold V] Z - 1074
settong
settong
    250x250
  • settong
    개 발 자 국
    settong
  • 전체
    오늘
    어제
    • 전체보기 (202)
      • Computer Science (50)
        • Network (7)
        • Operating System (18)
        • Data Structure (9)
        • Database (11)
        • Algorithm (5)
      • Language (17)
        • Java (17)
        • Javascript (0)
        • Python (0)
      • Devops (20)
        • AWS (0)
        • Naver Cloud (16)
        • CICD (3)
        • 웹 서버 관리 (1)
      • Front (0)
        • React (0)
      • Backend (5)
        • Spring (5)
      • 코딩 테스트 정복기 (110)
        • 백준 (51)
        • 프로그래머스 (53)
        • 기타 (6)
      • etc (0)
      • 경제 상식 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    BFS
    다익스트라
    Network
    ncp202
    Spring Boot
    프로그래머스
    ncp
    ncp200
    백트래킹
    lcs
    해시
    집합
    github actions
    CI/CD
    완전탐색
    DFS
    백준
    다이나믹프로그래밍
    벨만포드
    분할정복
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
settong
[백준/Gold III] 나머지 합 - 10986

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.