Dlise
시원한 냉장고
Dlise
전체 방문자
오늘
어제
  • 시원한 냉장고 (132)
    • Java (31)
      • Java (26)
      • Spring (5)
    • Algorithm & PS (25)
      • Algorithm (14)
      • Problem Solving (11)
    • Network (12)
    • Database (2)
    • Data Structure (4)
    • OOP & CleanCode (5)
    • Web (0)
    • Git (2)
    • AI (2)
    • Project (1)
      • Discord Bot (1)
    • Error (19)
    • Tools (5)
    • 수학 (5)
      • 확률과 통계(기초) (5)
    • 컴퓨터 구조 (3)
    • 활동 (16)
      • 행사 & 여행 (6)
      • 자격증 (4)
      • 회고 (6)
      • 기타 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • java
  • 통계학
  • 중위 표기법
  • 네트워크
  • 후위 표기법
  • 열혈강의자료구조
  • 가장쉬운알고리즘책
  • spring security in action second edition
  • CleanCode
  • 백준

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Dlise
Algorithm & PS/Algorithm

알고리듬 - 구간 합

Algorithm & PS/Algorithm

알고리듬 - 구간 합

2023. 6. 24. 22:09

구간 합

구간 합은 배열, 리스트 등의 인자를 더한 결과를 저장한 것으로 시간복잡도를 줄이기 위해 활용한다.

예를 들어 아래 그림과 같이 배열 A가 있다면 순서대로 값을 더한 배열 S를 구해 문제를 푸는 것이다.

 

아래는 구간 합을 이용하는 간단한 문제 중 하나이다.

 

백준: 구간 합 구하기 4
https://www.acmicpc.net/problem/11659
 

11659번: 구간 합 구하기 4

첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j

www.acmicpc.net

 

해당 문제는 간단히 값을 받을 때마다 for문을 이용해 풀 수는 있지만 시간 초과로 통과가 되지 않는다.

이를 해결하기 위해 미리 배열 S를 만든 후 뺄셈만 하여 푸는 것이다.

 

구간 합을 구현하는 것은 쉽기 때문에 문제를 보고 구간 합을 떠올리는 것이 관건이라고 생각한다.

 

'Algorithm & PS > Algorithm' 카테고리의 다른 글

알고리듬 - 버블, 선택, 삽입 정렬  (0) 2023.06.27
알고리듬 - 슬라이딩 윈도우  (0) 2023.06.26
알고리듬 - 투 포인터  (0) 2023.06.26
알고리듬 - 시간복잡도(Time Complexity)  (0) 2023.06.22
알고리듬 - dx, dy를 이용한 이차원 배열 이동  (0) 2023.06.21
  • 구간 합
'Algorithm & PS/Algorithm' 카테고리의 다른 글
  • 알고리듬 - 슬라이딩 윈도우
  • 알고리듬 - 투 포인터
  • 알고리듬 - 시간복잡도(Time Complexity)
  • 알고리듬 - dx, dy를 이용한 이차원 배열 이동
Dlise
Dlise

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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