문제
풀이
구현, 시뮬레이션
단순한 구현 문제로, 배열의 i부터 j까지 k의 값을 넣는 작업을 M번 반복한다. 특정 구간에 동일한 값을 넣을 때, std::fill 함수를 사용했다.
std::fill(시작 주소, 끝 주소, 값);
std::fill(v.begin() + i, v.begin() + j, k);
vector에서도 사용가능하다.
코드
#include <iostream>
#include <algorithm>
using namespace std;
int nums[102] = { 0, };
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(NULL);
cout.tie(NULL);
int N, M;
cin >> N >> M;
int i, j, k;
for (int current = 0; current < M; ++current)
{
cin >> i >> j >> k;
fill(nums + i, nums + j + 1, k);
}
for (int current = 1; current <= N; ++current)
{
cout << nums[current] << " ";
}
return 0;
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준][C++] 2636: 치즈 (0) | 2024.04.10 |
---|---|
[백준][C++] 15683: 감시 (0) | 2024.04.10 |
[백준][C++] 14725: 개미굴 (0) | 2024.03.30 |
[백준][C++] 16934: 게임 닉네임 (0) | 2024.03.24 |
[백준][C++] 14426: 접두사 찾기 (0) | 2024.03.23 |