Algorithm/BOJ

[BOJ] 11659 구간 합 구하기 4

yeeendy 2023. 1. 16. 09:29
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study14
{
    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]
            for (int i = 1; i < 6; i++)    //i가 1부터 시작
            {
                sumarr[i] = sumarr[i - 1] + arr[i];     //i가 1이면 0+5, 2면 0+5+4
            }

            for (int i = 0; i < 6; i++)
            {
                Console.Write("{0,2} ", arr[i]);    //{0,2}가 의미하는게 뭔지 모르겠다
            }
            Console.WriteLine();
            for (int i = 0; i < 6; i++)
            {
                Console.Write("{0,2} ", sumarr[i]);
            }

            // 구간합 공식
            // sumarr[i] - sumarr[j-1]
            //i번째 수부터 j번째 수까지 합을 출력한다.
            Console.WriteLine();
            {
                int i = 1;
                int j = 3;

                Console.WriteLine(sumarr[j] - sumarr[i - 1]);
            }
        }
    }
}