알고리즘/백준 BOJ
[BOJ C#]11659 구간 합 구하기 4
왹져박사
2023. 1. 16. 01:05
using System;
namespace _11659
{
class Program
{
static void Main(string[] args)
{
int[] arr = { 0, 5, 4, 3, 2, 1 };
int[] sumarr = new int[5 + 1];
// 합배열 만들기
// sumarr[i] = sumarr[i-1] + arr[i]
sumarr[0] = arr[0];
for (int i = 1; i < arr.Length; i++)
{
sumarr[i] = sumarr[i - 1] + arr[i];
}
for (int i = 0; i < 6; i++)
{
Console.Write("{0,2} ", arr[i]);
}
Console.WriteLine();
for (int i = 0; i < 6; i++)
{
Console.Write("{0,2} ", sumarr[i]);
}
Console.WriteLine();
// 구간합 공식
// sumarr[i] - sumarr[j-1]
//i번째 수부터 j번째 수까지 합을 출력한다.
Console.WriteLine("구간합의 시작을 입력하시오");
int startIndex = int.Parse(Console.ReadLine());
Console.WriteLine("구간합의 끝을 입력하시오");
int endIndex = int.Parse(Console.ReadLine());
if (startIndex < 1)
Console.WriteLine(sumarr[endIndex]);
else
Console.WriteLine(sumarr[endIndex] - sumarr[startIndex - 1]);
}
}
}