# https://www.acmicpc.net/problem/10810
# boj, 10810: 공 넣기, python3
def solve(n: int, m: int) -> list:
balls = [0] * n
for _ in range(m):
start, end, num = map(int, input().split())
balls[start-1:end] = [num] * (end - start + 1)
return balls
if __name__ == '__main__':
n, m = map(int, input().split())
print(*solve(n, m))
n, m = map(int, input().split())
# 바구니의 초기 상태
baskets = [0] * n
# 공을 넣는 방법에 따라 바구니에 공을 넣음
for i in range(m):
start, end, number = map(int, input().split())
for j in range(start-1, end):
baskets[j] = number
# 바구니에 들어있는 공의 번호 출력
for number in baskets:
print(number, end=' ')
먼저 첫 번째 줄에서는 바구니의 개수 N과 공을 넣는 방법의 개수 M이 주어집니다. 이후 M개의 줄에서는 각 방법이 주어지며, 이를 바탕으로 바구니의 초기 상태를 만듭니다.
바구니의 초기 상태를 저장할 리스트 baskets를 만들고, 초기값으로 모두 0을 할당합니다. 이후 공을 넣는 방법에 따라서 이 리스트를 업데이트합니다. 이를 위해서, M개의 방법을 입력받은 후, 각 방법에 대해서 바구니의 범위를 구한 뒤, 해당하는 구간에 공의 번호를 할당합니다.
모든 공을 넣은 후에는 각 바구니에 들어있는 공의 번호를 출력합니다. 이때, 출력할 때마다 공백을 넣어주기 위해 end=' '를 사용하였습니다.