알고리즘

백준 10810번 공 넣기 (JAVA)

박카스마시며코딩 2023. 9. 11. 20:47

https://www.acmicpc.net/problem/10810

 

10810번: 공 넣기

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이

www.acmicpc.net

 

저는 구현을 통해 문제를 해결하였습니다.

바구니에 한 공만 넣을 수 있고, 중복되면 있는 것을 빼고 넣기에 그냥 m번 공을 넣을 때 데이터를 덮어 쓰면 된다.

 

package BOJ.etc;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.function.Function;

public class BOJ_10810 {

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        Function<String,Integer> stoi = Integer::parseInt;
        int n = stoi.apply(st.nextToken());
        int m = stoi.apply(st.nextToken());
        int[] buket = new int[n+1];
        for(int i = 0 ; i < m ; i++){
            st = new StringTokenizer(br.readLine());
            int start = stoi.apply(st.nextToken());
            int end = stoi.apply(st.nextToken());
            int num = stoi.apply(st.nextToken());
            for(int j = start ; j <= end ; j++){
                buket[j] = num;
            }
        }
        for(int i = 1; i <= n ; i++){
            System.out.print(buket[i]+" ");
        }
    }
}