본문 바로가기
[C++] 백준

[백준 1551번] 수열의 변화

by 말하는 감자 처음 보세요? 2023. 7. 25.

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

 

1551번: 수열의 변화

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

www.acmicpc.net

📌 개인문제 (백준 1551번 : 수열의 변화)

📍 문제

크기가 N인 수열 A가 주어졌을 때, 세준이는 인접한 두 원소의 차이를 이용해서 크기가 N-1인 수열 B를 만들 수 있다.

예를 들어, A = {5, 6, 3, 9, -1} 이었을 때, B = {6-5, 3-6, 9-3, -1-9} = {1, -3, 6, -10}이 된다. 즉, B[i] = A[i+1]-A[i]가 된다.

수열 A가 주어졌을 때, 세준이가 위의 방법을 K번 했을 때 나오는 수열을 구하는 프로그램을 작성하시오.

 

📍 풀이과정

#include <iostream>
#include <cstdio>

using namespace std;
const int MAX=21;
int num[MAX];

int main(){
    int N,K;
    scanf("%d %d",&N,&K);

    for(int i=0;i<N;i++){
        scanf("%d",&num[i]);
        getchar();
    }

    for(int i=0;i<K;i++){
        for(int j=0;j<N-1;j++){
            num[j]=num[j+1]-num[j];
        }
        N--;
    }

    for (int i = 0; i < N-1; i++)
    {
        cout<<num[i]<<",";
    }
    cout<<num[N-1]<<endl;
    
    
    return 0;
}

'[C++] 백준' 카테고리의 다른 글

[백준 1302번]베스트셀러  (0) 2023.08.02
[백준 2776번] 암기왕  (0) 2023.08.02
[백준 1966번] 프린터 큐  (0) 2023.07.26
[백준 2947번] 나무조각  (0) 2023.07.25
[백준 16507번] 어두운 것은 무서워  (0) 2023.07.25

댓글