Algorithm – 공 넣기

문제


문제

도현은 총 N개의 바구니를 가지고 있고, 각 바구니는 1부터 N까지 번호가 매겨져 있습니다. 또한 1부터 N까지 번호가 매겨진 공이 많이 있습니다. 첫 번째 바구니에는 공이 포함되지 않으며 공 하나만 포함될 수 있습니다.

도현은 앞으로 공 M을 넣어보려 한다. 도현은 공을 한 번 던질 때 공을 넣을 바스켓의 범위를 지정하고 같은 번호의 공을 모두 지정된 바스켓에 넣는다. 바구니에 이미 공이 있으면 공을 치우고 새 공을 넣습니다. 공을 던지는 골대는 연속적이어야 합니다.

공을 놓는 방법을 알고 있다면 M개의 공을 놓은 후 각 바구니에 있는 공의 수를 찾는 프로그램을 작성하십시오.

기입

N(1 ≤ N ≤ 100) 및 M(1 ≤ M ≤ 100)은 첫 번째 줄에 지정됩니다.

두 번째 행부터 시작하여 M 행을 통해 공을 던지는 방법이 제공됩니다. 각 방법은 3개의 정수 ijk로 구성되며, 이는 k라고 표시된 공이 바구니 i에서 바구니 j로 배치됨을 의미합니다. 예를 들어, 2 5 6은 6번 공을 5번 바구니를 통해 2번 바구니에 넣는 것을 의미합니다. (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

문제 분석


package BAEKJOON;

import java.util.Scanner;

public class day14 {

	public static void main(String() args) {
		// 공 넣기
		
		Scanner scan = new Scanner(System.in);
		
		int N = scan.nextInt(); // 	바구니번호
		int M = scan.nextInt();	//   공 넣은 범위
		int() basket = new int(N);  // 바구니 배열.
		
		
		 
		for(int i = 0; i < M; i++) {
			int b = scan.nextInt();  // b번 바구니부터
			int f = scan.nextInt();  // j번 바구니까지
			int k = scan.nextInt();   // k번 번호 공을 넣는다.
			for(int j = b - 1 ; j < f; j++) { // 인덱스는 0부터 시작이라서 -1써준다.
				basket(j) = k;
			}
		}
		
		for(int result : basket) {
			System.out.print(result + " ");
		}
		

	}

}

-----
5 4
1 2 3
3 4 4
1 4 1
2 2 2
1 2 1 1 0