백준 10810번: 배열에 공 번호 덮어쓰기
백준 10810번 공 넣기는 바구니마다 들어 있는 공 번호를 배열에 저장해 풀었습니다.
길이가 n인 정수 배열을 만들면 모든 값이 0으로 시작하므로 공이 없는 바구니를 그대로 표현할 수 있습니다. 입력받은 바구니 번호 i, j에서는 1을 빼서 배열 인덱스에 맞춥니다.
각 작업에서는 i부터 j까지의 값을 모두 k로 덮어쓰기 때문에 앞선 작업에서 공을 넣었더라도 새 번호로 바뀝니다. 모든 작업이 끝나면 배열 순서대로 값을 출력합니다.
풀이 코드
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
st = new StringTokenizer(br.readLine(), " ");
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int[] bucket = new int[n];
for (int t = 0; t < m; t++) {
st = new StringTokenizer(br.readLine(), " ");
int i = Integer.parseInt(st.nextToken()) - 1;
int j = Integer.parseInt(st.nextToken()) - 1;
int k = Integer.parseInt(st.nextToken());
for (int y = i; y <= j; y++) {
bucket[y] = k;
}
}
for (int number : bucket) {
bw.write(number + " ");
}
bw.flush();
}
}