c c++ 언어 공부

백준 1292번 : 쉽게 푸는 문제 (C 언어)

Code C 2023. 5. 1. 00:33

https://www.acmicpc.net/problem/1292

 

1292번: 쉽게 푸는 문제

첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다.

www.acmicpc.net

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
 
int main() {
    int a, b;
    int arr[500000= { 0, };
    scanf("%d %d"&a, &b);
    int count = 1;
    int num = 1;
    for (int i = 1; i <= b; i++)
    {
        if (count == 0)
        {
            num++;
            count = num;
        }
            arr[i] = num;
            count--;
    }
    int result = 0;
    for (int i = a; i <= b; i++)
    {
        result += arr[i];
    }
    printf("%d", result);
}
cs

문제풀이:

문제에서 요구하는 122333444455555...를 먼저 배열을 통해 받아준다.

그 후 범위 대로 합을 해준다.