![[백준 11659번] 구간 합 구하기 4](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdvHk4M%2FbtsL4KXFrmA%2FwTcgdB8c1Br2hcrtnGlKH1%2Fimg.png)
[백준 11659번] 구간 합 구하기 4백준2025. 2. 2. 23:28
Table of Contents
728x90
[백준 11659번] 구간 합 구하기 4
- 문제 링크 : 구간 합 구하기 4
- 난이도 : 난이도: 실버 3
- 풀이 날짜 : 2025-02-01
📖 문제 설명
수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오.
📖 입력
첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다.
📖 출력
총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다.
📝 풀이 코드
import sys
input = sys.stdin.readline
N, M = map(int,(input().split())) # 숫재 개수, 질의 개수
numbers = list(map(int,input().split())) # 숫자 리스트
prefix_sum = [0] # 1번째부터라 0번째 채워줌
temp = 0
# 합 배열 만들기
for n in numbers:
temp += n
prefix_sum.append(temp)
# 구간 합 구하기
for i in range(M):
s, e = map(int, input().split()) # 구간(시작, 끝)
print(prefix_sum[e] - prefix_sum[s-1])
📝 코드 설명
- 구간 합을 구하기 위해 합 배열을 만든다.
- 합 배열 : 숫자리스트를 차례대로 합한 결과를 배열로 만든 것
- 구간 합 공식 : 합배열[종료구간] - 합배열[시작구간 - 1]
'백준' 카테고리의 다른 글
[백준 1874번] 스택 수열 (0) | 2025.02.05 |
---|---|
[백준 17298번] 오큰수 (1) | 2025.02.05 |
[백준 11660번] 구간 합 구하기 5 (0) | 2025.02.02 |
[백준 11720번] 숫자의 합 (0) | 2025.02.02 |
[백준 1546번] 평균 (0) | 2025.02.02 |
@mane Lab :: 마네의 연구소
배움에 즐거움을 느끼는 마네의 연구소입니다. 이미지 출처 : https://www.instagram.com/hoseobiiiiiii._.0410/
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!