백준 단계별로 풀어보기(C++)/4)1차원 배열
백준 10810) 공 넣기 (C++)
코테
2023. 3. 12. 05:00
전체 코드
#include <iostream>
int main()
{
int arr[100] = { 0, };
int N, M, i, j, k;
std::cin >> N >> M;
for (int count = 0; count < M; count++)
{
std::cin >> i >> j >> k;
for (int idx = i - 1; idx < j; idx++)
{
arr[idx] = k;
}
}
for (int count = 0; count < N; count++)
{
std::cout << arr[count] << " ";
}
}
풀이
- 바구니는 최대 100개 가지므로 크기가 100인 배열 선언
- 공을 받지 않으면 0을 출력해야하므로 미리 전체적으로 0으로 초기화
int arr[100] = { 0, };
- M만큼 반복하는 반복문
- i, j, k값 순서대로 입력받음
- i-1부터 j이전까지 반복하는 반복문에 진입 : 배열 인덱스는 0부터 시작이지만 문제의 바구니는 번호가 1부터 시작하므로 i-1을 해줌
- 해당 idx값의 배열에 k값을 갱신시킴
for (int count = 0; count < M; count++)
{
std::cin >> i >> j >> k;
for (int idx = i - 1; idx < j; idx++)
{
arr[idx] = k;
}
}
- N(바구니 개수)만큼 반복하는 반복문
- 해당 인덱스값에 해당하는 배열값 출력
for (int count = 0; count < N; count++)
{
std::cout << arr[count] << " ";
}