안경잡이 구루루

백준 10810 (공 넣기) [C programming] [Implemention/구현] 본문

C언어(C programming)/문제풀이(백준,BaekJoon)

백준 10810 (공 넣기) [C programming] [Implemention/구현]

구루루(gururu) 2023. 11. 15. 22:37
반응형


나:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	int p, q, r, n, m;
	int basket[100] = { 0, };
	int i, j, k;
	scanf("%d  %d", &n, &m);
	for (p = 0; p < m; p++) {
		scanf("%d %d %d", &i, &j, &k);
		for (q = i; q <= j; q++) {
			basket[q-1] = k;
		}
	}
	for (r = 0; r < n; r++) {
		printf("%d ", basket[r]);
	}
	return 0;
}

완성된 코드는 위와 같다. 

우선 VS에서 scanf() 문제를 해결하기 위해 #define _CRT_SECURE_NO_WARNINGS 을 선언

(1)
int p, q, r, n, m;
int basket[100] = { 0, };
int i, j, k;
scanf("%d  %d", &n, &m);

우선 반복문에 사용할 변수 p, q, r을 선언하고 총바구니 개수 n, 바구니에 넣을 번호 m 을 선언해준다.

그리고 최대 100개의 바구니를 사용할 수 있기 때문에 basket[100] 배열을 이용.

또한, 반복문에 사용할 i, j, k 변수를 선언

우선 첫 째 줄에 입력값 n, m 을 선언해준다. 

 

(2)
for (p = 0; p < m; p++) {
    scanf("%d %d %d", &i, &j, &k);
    for (q = i; q <= j; q++) {
        basket[q-1] = k;
		}
	}
for (r = 0; r < n; r++) {
    printf("%d ", basket[r]);
}

p를 이용한 첫번 째 반복문을 이용해 m번 만큼 i, j, k 를 입력받는다. 

이때 반복문이 한번 진행할 때 마다 앞서 입력받은 i, j ,와  q를 이용한 반복문을 통해 공 번호 k 를 basket 배열에 넣는다.

이때 배열은 0부터 시작해 총 n-1 로 basket[q-1]  에 넣는다.

최종적으로 r 을 이용한 반복문을 통해서 basket 배열에 들어간 값들을 출력시켜 준다.

반응형