코테 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] << " ";
}