-
Notifications
You must be signed in to change notification settings - Fork 0
/
24-04-06-baekjoon.py
59 lines (40 loc) · 2.47 KB
/
24-04-06-baekjoon.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 들어있지 않으며, 바구니에는 공을 1개만 넣을 수 있다.
# 도현이는 앞으로 M번 공을 넣으려고 한다. 도현이는 한 번 공을 넣을 때, 공을 넣을 바구니 범위를 정하고, 정한 바구니에 모두 같은 번호가 적혀있는 공을 넣는다. 만약, 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고, 새로 공을 넣는다. 공을 넣을 바구니는 연속되어 있어야 한다.
# 공을 어떻게 넣을지가 주어졌을 때, M번 공을 넣은 이후에 각 바구니에 어떤 공이 들어 있는지 구하는 프로그램을 작성하시오.
# 입력
# 첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ M ≤ 100)이 주어진다.
# 둘째 줄부터 M개의 줄에 걸쳐서 공을 넣는 방법이 주어진다. 각 방법은 세 정수 i j k로 이루어져 있으며, i번 바구니부터 j번 바구니까지에 k번 번호가 적혀져 있는 공을 넣는다는 뜻이다. 예를 들어, 2 5 6은 2번 바구니부터 5번 바구니까지에 6번 공을 넣는다는 뜻이다. (1 ≤ i ≤ j ≤ N, 1 ≤ k ≤ N)
# 도현이는 입력으로 주어진 순서대로 공을 넣는다.
# 출력
# 1번 바구니부터 N번 바구니에 들어있는 공의 번호를 공백으로 구분해 출력한다. 공이 들어있지 않은 바구니는 0을 출력한다.
# 예제 입력 1
# 5 4
# 1 2 3
# 3 4 4
# 1 4 1
# 2 2 2
# 예제 출력 1
# 1 2 1 1 0
N, M = map(int, input().split())
box = [0] * N # 박스라는 list 생성 (데이터를 보관을 해야 함.)
# 박스 리스트에서 비어있다! 라고 정의 내릴 것을 0으로 두겠다.
# 박스를 다 비운(0) 상태로 생성
# 박스 채우기
for idx in range(M):
i, j, k = map(int, input().split()) # [1, 2, 4]
for a in range(i, j+1):
box[a-1] = k
# 데이터 출력
print(" ".join(str(s) for s in box))
## 김동호가 바보처럼 틀린 코드
# N_M = input().split()
# box_size = int(N_M[0])
# M = int(N_M[1])
# box = []
# for i in range(box_size):
# box.append(0)
# for idx in range(M):
# input_data = input().split()
# for i in range(int(input_data[0]), int(input_data[1])+1):
# box[i-1] = int(input_data[2])
# print(" ".join(str(s) for s in box))