누룽지맛치킨
어미새의 개발일지
누룽지맛치킨
전체 방문자
오늘
어제
  • 분류 전체보기 (86)
    • 코틀린 (8)
    • 안드로이드 (5)
      • 디자인 (2)
      • 개발 (2)
      • 도구 (1)
    • 피그마 (1)
    • 대외활동 (0)
    • 프로젝트 (0)
    • 백준 (55)
      • JAVA (55)
    • 알고리즘 (3)
    • 클라우드 (5)
    • 스터디 (2)
      • 코테 (2)
    • 자료구조 (5)
    • 컴퓨터 기술 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 알고리즘 조합
  • 자료구조
  • Room Migration
  • 백준 자바
  • 코틀린 인 액션
  • 안드로이드 디자인
  • 백준 자바 2559번
  • 자바 Priority Queue
  • 코틀린
  • 백준 자바 벌집
  • 코틀린 runBlocking
  • 안드로이드
  • 백준 자바 누적합
  • 클라우드 컴퓨팅
  • 클라우드
  • Room version 올리기
  • 백준 자바 2292번
  • 백준 자바 정렬
  • 백준 자바 다이나믹 프로그래밍
  • 백준 자바 수열

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
누룽지맛치킨

어미새의 개발일지

백준/JAVA

[백준/JAVA] 11659번 구간 합 구하기 4

2023. 2. 14. 16:00
  • 누적 합 테크닉으로 구간 합을 빠르게 구하는 문제
    https://www.acmicpc.net/problem/11659

1. 문제

수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오.

2. 문제 접근

1) 첫째 줄에 수의 개수 N과 합을 구하는 횟수 M을 입력받는다.
2) 둘째 줄에서 N개의 수를 입력받을 때 배열에 누적합을 저장한다.
3) 셋째 줄부터 M번 만큼 시작 인덱스와 종료 인덱스를 입력받고 누적합 배열에서 종료 인덱스 값에서 시작 인데스-1 값을 빼줌으로 구간의 합을 구한다.

3. 코드

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());
        int M = Integer.parseInt(st.nextToken());
        int sum[] = new int[N+1];
        StringBuilder sb = new StringBuilder();
        st = new StringTokenizer(br.readLine());
        for(int i=1;i<=N;i++) {
            sum[i] = sum[i-1] + Integer.parseInt(st.nextToken());
        }
        for(int i=0;i<M;i++) {
            st = new StringTokenizer(br.readLine());
            int start = Integer.parseInt(st.nextToken());
            int end = Integer.parseInt(st.nextToken());
            sb.append(sum[end]-sum[start-1]).append("\n");
        }
        System.out.print(sb);
    }
}

'백준 > JAVA' 카테고리의 다른 글

[백준/JAVA] 14852번 타일 채우기 3  (0) 2023.02.14
[백준/JAVA] 2133번 타일 채우기  (0) 2023.02.14
[백준/JAVA] 2156번 포도주 시식  (0) 2023.02.14
[백준/JAVA] 10844번 쉬운 계단 수  (0) 2023.02.14
[백준/JAVA] 1764번 듣보잡  (0) 2023.02.14
    '백준/JAVA' 카테고리의 다른 글
    • [백준/JAVA] 14852번 타일 채우기 3
    • [백준/JAVA] 2133번 타일 채우기
    • [백준/JAVA] 2156번 포도주 시식
    • [백준/JAVA] 10844번 쉬운 계단 수
    누룽지맛치킨
    누룽지맛치킨

    티스토리툴바