본문 바로가기

문제풀이/백준

백준 10810 공 넣기

문제 출처 : https://www.acmicpc.net/problem/10810

 

10810번: 공 넣기

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

www.acmicpc.net

문제 : 총 N개의 바구니가 있다. 바구니에는 1부터 N까지의 번호가 매겨져 있다. 또한 1부터 N까지 적혀있는 공이 많이 있다. 첫째 줄에 N과 M이 주어진다. (M은 몇 개의 줄에 걸쳐 공을 넣을지)

둘째 줄부터 M개의 줄에 걸쳐 공을 넣는 방법이 주어진다. 세 정수 i, j, k가 주어지며 i부터 j번 바구니에 k번 번호가 적힌 공을 넣는다. (이때 공이 이미 넣어져 있는 바구니의 공은 빼고 새로 넣는다.)

주어진 순서대로 공을 넣었을 때 마지막으로 바구니에 들어있는 공의 번호를 순서대로 출력한다. 

공이 들어있지 않은 바구니는 0을 출력한다.

 

활용 : 2중 for문을 이용한 배열의 활용


#include <stdio.h> 

int main(void) {
	int N = 0, M = 0;
	int basket[100] = { 0 }; //공이 들어있지 않은 바구니를 0으로 초기화한다.
	int i = 0, j = 0, k = 0;
	scanf("%d %d", &N, &M); 
	for (int a = 0; a < M; a++) { //M개의 줄에 걸쳐 입력 세 정수를 입력받는다.
		scanf("%d %d %d", &i, &j, &k);
		for (int b = i - 1; b < j; b++) { //i부터 j까지의 바구니에
			basket[b] = k; //k번 공을 넣는다.
		}
	}
	for (int a = 0; a < N; a++) { //결과를 출력한다.
		printf("%d ", basket[a]);
	}
	return 0;
}

'문제풀이 > 백준' 카테고리의 다른 글