백준 문제 풀이/백준 (C)
C 백준 10810 공 넣기 (1차원배열)
gamja00
2024. 6. 29. 22:15
https://www.acmicpc.net/problem/10810
문제
- 1 ~ N 개의 번호가 매겨진 바구니.
- 1 ~ N 번이 적힌 공.
- 처음 바구니에는 공 X, 바구니에는 공을 1개만 넣을 수 있음.
- 공을 M번 넣으려고 할 때. 공을 넣을 바구니를 정해 모든 같은 번호가 적힌 공을 넣음. (바구니에 공이 들어있을 때는 들어있던 공을 빼고 새 공을 넣음. 공을 넣을 바구니는 연속.)
- 첫째 줄에 N(1 <= N <= 10) M(1 <= M <=100)
- 둘째 줄에 i번 바구니부터 j번 바구니까지 k번 번호가 적힌 공을 넣음. (2 5 6은 2번 바구니부터 5번 바구니까지에 6번 공을 넣는다.)
- 1 ~ N번 바구니에 들어있는 공의 번호를 공백으로 구분해 출력. 공이 들어있지 않은 바구니는 0을 출력.
완성 코드
#include<stdio.h>
int main(void) {
int N, M;
int result[100] = {0, }; // 모든 배열을 0으로 초기화.
int i, j, k;
scanf_s("%d %d", &N, &M);
for (int n = 0; n < M; n++) { // M번 공을 넣음
scanf_s("%d %d %d", &i, &j, &k); // i = 첫 바구니, j = 마지막 바구니 ,k = 공 번호
for (i; i <= j; i++) {
result[i - 1] = k; // i ~ j 번 바구니에 k가 적힌 공을 넣음
}
}
for (int i = 0; i < N; i++) {
printf("%d ", result[i]);
}
return 0;
}