https://www.acmicpc.net/problem/10810
풀이
#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를 할당한다. 이후 출력하면 된다.
'코딩테스트 > [백준]단계별로풀어보기(C++)' 카테고리의 다른 글
[백준][1차원배열] 10818번 : 최소, 최대 (C++) (0) | 2024.03.26 |
---|---|
[백준][1차원배열] 5597번 : 과제 안 내신 분..? (C++) (0) | 2024.03.26 |
[백준][1차원배열] 2526번 : 최댓값 (C++) (0) | 2024.03.26 |
[백준][1차원배열]1546번 : 평균 (C++) (0) | 2024.03.26 |
[백준][2차원배열] 10798번 : 세로 읽기 (C++) (0) | 2024.03.17 |