본문 바로가기
코딩테스트/[백준]단계별로풀어보기(C++)

[백준][1차원배열] 10810번 : 공 넣기(C++)

by 오리로스 2024. 3. 26.

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

 

10810번: 공 넣기

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이

www.acmicpc.net

풀이
#include <iostream>
#include <vector>
using namespace std;
int main(){
    int n{}, m{};
    int a{}, b{}, c{};
    cin >> n >> m;
    vector<int> v(n,0);
    for(int i{0};i<m;++i){    
        cin >> a >> b >> c;
        vector<int>::iterator itr = v.begin()+a-1;
        for(; itr != v.begin()+b; ++itr) *itr = c;
    }
    for(int i:v) cout << i << " "; 
    
    return 0;
}

 

벡터의 iterator를 쉽게 쉽게 써볼 수 있는 아주 좋고 쉬운 예제이다. 각 줄에서 첫번째 입력값을 iterator의 시작으로 넣고(첫번째가 인덱스 상 0이므로 -1해줌) 두번째 입력값-1 까지 c를 할당한다. 이후 출력하면 된다.