본문 바로가기
공부기록/[Algorithm]

백준 10810번 <공 넣기> - C++

by RiverWon 2024. 8. 2.

처음에 무슨말인가.. 했다. 알고보면 별 거 아니다. 배열의 인덱스값을 지정해서, 반복하는 동안 인덱스의 값을 교체만 해주면 되는 간단한 문제다.

 

생각


N : 사용할 배열의 마지막 index

M : 반복 횟수

 

1. N, M 을 입력받아 바구니 개수와 반복 횟수 설정

2. 지정된 범위의 index에 공 할당.

3. 반복하며 바구니의 공을 현재 시점의 k로 교체

 

#include <iostream>

using namespace std;

int main() {
    
    int arr[100] = {0,}; //0으로 배열 초기화
    
    int n, m;
    cin >> n >> m;
    
    for(int a = 1; a<=m; a++){
        int i, j, k;
        cin >> i >> j >> k;
        for(int b=i; b<=j; b++){
            arr[b] = k;
        }
    }
    
    for(int a = 1; a<=n; a++){
        cout << arr[a] << " ";
    }

    return 0;
}

 

문제가 어렵지 않은 것도 있지만, 생각과정을 텍스트화 시켜놓으니까 확실히 편하다. 문제는 이미 머리에 들어와 있고, 코드 짤 때는 생각 써 놓은 것만 보면 된다. 글의 힘이 정말 대단한 것 같다.