Blog

백준 10810번: 배열에 공 번호 덮어쓰기

백준 10810번 공 넣기는 바구니마다 들어 있는 공 번호를 배열에 저장해 풀었습니다.

길이가 n인 정수 배열을 만들면 모든 값이 0으로 시작하므로 공이 없는 바구니를 그대로 표현할 수 있습니다. 입력받은 바구니 번호 i, j에서는 1을 빼서 배열 인덱스에 맞춥니다.

각 작업에서는 i부터 j까지의 값을 모두 k로 덮어쓰기 때문에 앞선 작업에서 공을 넣었더라도 새 번호로 바뀝니다. 모든 작업이 끝나면 배열 순서대로 값을 출력합니다.

풀이 코드

Java
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();
    }
}