cyphen156
백준-1차원 배열 10810 공 넣기 본문
N개의 바구니, 번호 N이 적혀있는 무수히 많은 공들(ex 1번공 N개)
한 바구니에 공을 한개씩 넣을 수 있다. 그런데 M번만 넣을 것 이다.
공을 넣는 방법은 주어진 세 정수(i, j, k)를 통해 i번 바구니부터 j번 바구니까지 k번 공을 넣는다.
제약사항
- 0 < N, M, <= 100
- 0 < i <= j <= N
- 0 < k <= N
- if (j < N) print 0
주의 사항
첫 번째 입력사항에선 N과 M의 입력을 실시한다.
두번째 줄부터 M개의 줄에 공을 넣는 방법이 주어진다.
배열 입력을 덮어쓸 수 있는지 물어보는 문제다.
C 풀이
공 넣기_10810.c
/**
* 백준 1차원 배열 10810 공 넣기
* N개의 바구니, 번호 N이 적혀있는 무수히 많은 공들(ex 1번공 N개)
* 한 바구니에 공을 한개씩 넣을 수 있다. 그런데 M번만 넣을 것 이다.
* 공을 넣는 방법은 주어진 세 정수(i, j, k)를 통해 i번 바구니부터 j번 바구니까지 k번 공을 넣는다.
*
* 제한사항
*****************************************
* 0 < N, M, <= 100 *
* 0 < i <= j <= N *
* 0 < k <= N *
* if (j < N) print 0 *
*****************************************
*
*
*
* 주의
* 첫 번째 입력사항에선 N과 M의 입력을 실시한다.
* 두번째 줄부터 M개의 줄에 공을 넣는 방법이 주어진다.
* 배열 입력을 덮어쓸 수 있는지 물어보는 문제다.
*
* 풀이시간 7분
*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int N, M, i, j, k;
scanf("%d%d", &N, &M);
int* arr = (int*)calloc(N+1, sizeof(int));
for (int t = 1; t <= M; ++t)
{
scanf("%d%d%d", &i, &j, &k);
for (int IDX = i; IDX <= j; ++IDX)
{
arr[IDX] = k;
}
}
for (int t = 1; t <= N; ++t)
{
printf("%d ", arr[t]);
}
return 0;
}
C++ 풀이
공 넣기_10810.cpp
/**
* 백준 1차원 배열 10810 공 넣기
* N개의 바구니, 번호 N이 적혀있는 무수히 많은 공들(ex 1번공 N개)
* 한 바구니에 공을 한개씩 넣을 수 있다. 그런데 M번만 넣을 것 이다.
* 공을 넣는 방법은 주어진 세 정수(i, j, k)를 통해 i번 바구니부터 j번 바구니까지 k번 공을 넣는다.
*
* 제한사항
*****************************************
* 0 < N, M, <= 100 *
* 0 < i <= j <= N *
* 0 < k <= N *
* if (j < N) print 0 *
*****************************************
*
*
*
* 주의
* 첫 번째 입력사항에선 N과 M의 입력을 실시한다.
* 두번째 줄부터 M개의 줄에 공을 넣는 방법이 주어진다.
* 배열 입력을 덮어쓸 수 있는지 물어보는 문제다.
*
* 풀이시간 3분
*/
#include <iostream>
using namespace std;
int main() {
int N, M, i, j, k;
cin >> N >> M;
int* arr = new int[N+1] {0};
for (int t = 1; t <= M; ++t)
{
cin >> i >> j >> k;
for (int IDX = i; IDX <= j; ++IDX)
{
arr[IDX] = k;
}
}
for (int t = 1; t <= N; ++t)
{
cout << arr[t] << " ";
}
cout << endl;
delete[] arr;
return 0;
}
모든 예제 코드의 소스파일은 제 개인 깃허브 레포지토리 에 있습니다.
Workspace/알고리듬 풀이 at main · cyphen156/Workspace · GitHub
Workspace/알고리듬 풀이 at main · cyphen156/Workspace
Studying . Contribute to cyphen156/Workspace development by creating an account on GitHub.
github.com
'컴퓨터공학 > 알고리듬 풀이' 카테고리의 다른 글
백준-1차원 배열 5597 과제 안 내신 분..? (1) | 2024.09.14 |
---|---|
백준-1차원 배열 10813 공 바꾸기 (1) | 2024.09.11 |
백준-1차원 배열 2562 최댓값 (0) | 2024.09.10 |
백준-1차원 배열 10818 최소, 최대 (0) | 2024.09.10 |
백준-1차원 배열 10871 X보다 작은 수 (0) | 2024.09.09 |