c c++ 언어 공부

백준 1551번 : 수열의 변화 (C 언어)

Code C 2023. 10. 5. 12:17

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

 

1551번: 수열의 변화

첫째 줄에 수열의 크기 N과 K가 주어진다. N은 20보다 작거나 같은 자연수이고, K는 0보다 크거나 같고, N-1보다 작거나 같은 정수이다. 둘째 줄에는 수열이 ‘,’로 구분되어 주어진다. 수열을 이루

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
26
#include <stdio.h>
 
int main()
{
    int n, k;
    scanf("%d %d"&n, &k);
    int arr[101= { 0, };
    for (int i = 0; i < n; i++)
    {
        scanf("%d"&arr[i]);
        getchar();
    }
    while (k--)
    {
        for (int i = 0; i < n-1; i++)
        {
            arr[i] = arr[i + 1- arr[i];
        }
        n--;
    }
    for (int i = 0; i < n- 1; i++)
    {
        printf("%d,", arr[i]);
    }
    printf("%d", arr[n - 1]);
}
cs

문제 설명: 주어진 문제에서는 크기가 N인 수열 A가 주어지고, 이 수열을 이용하여 인접한 두 원소의 차이를 구하며, 이를 K번 반복하여 수열을 변형하는 과정을 수행합니다. 변형된 수열을 출력하는 문제입니다.

 

코드 설명: 주어진 문제를 해결하기 위해 작성한 코드는 주어진 수열을 변형하는 과정을 K번 반복하고, 최종적으로 변형된 수열을 출력하는 형태입니다.

  1. n과 k를 입력받습니다.
  2. 크기가 101인 배열 arr을 선언하여 수열을 저장합니다.
  3. 수열을 입력받고, 인접한 두 원소의 차이를 구하며 수열을 변형합니다.
  4. 변형된 수열을 출력합니다.