https://www.acmicpc.net/problem/10810
10810번: 공 넣기
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이
www.acmicpc.net
문제


코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int[] basket = new int[n];
for(int i = 0; i < m; i++) {
st = new StringTokenizer(br.readLine());
int start = Integer.parseInt(st.nextToken());
int end = Integer.parseInt(st.nextToken());
int ball = Integer.parseInt(st.nextToken());
for(int j = start - 1; j <= end - 1; j++) {
basket[j] = ball;
}
}
br.close();
for(int i = 0; i < n; i++) {
System.out.println(basket[i]);
}
}
}
- 먼저 n 크기의 바구니 배열을 만든다. (자동으로 0으로 초기화 된다고 함)
- 문제에서 바구니는 1번부터지만 인덱스로는 0부터 시작이므로 1을 빼주고 for문을 돌린다.
- 해당하는 바구니에 공을 넣는다. 겹치는 바구니라면 덮어쓰게 될 것이다.
- 바구니 배열을 출력한다.